From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner@12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj@www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry@12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson@yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson@yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson@yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx@linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- /* * Test.class is just that.. a Test */ import java.io.*; import java.util.*; import gnu.io.*; public class TestCrash implements SerialPortEventListener, CommPortOwnershipListener { InputStream inputStream; OutputStream outputStream; SerialPort serialPort; Thread readThread; boolean debug = true; boolean doDebugMessages = debug; public static final char FUNCTION_RESET = 0xC1; public static void main(String[] args) { CommPortIdentifier portId; Enumeration portList; portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { if ( portId.isCurrentlyOwned() ) { System.out.println(portId.getName() + " with isCurrentlyOwned: true"); } else { System.out.println(portId.getName() + " with isCurrentlyOwned: false"); new TestCrash(portId); } //System.out.println(portId.getName() + " with owner: " + portId.getCurrentOwner()); } } if (args.length < 1) { System.out.print("Test.class /dev/ports/serialx\n"); System.exit(-1); } //System.out.println(System.getProperty("java.library.path")); //System.out.println("opening the Port: " + args[0]); //Test reader = new Test(args[0]); } public TestCrash(CommPortIdentifier portId) { try { portId.addPortOwnershipListener(this); System.out.println(portId.getName() + " just set this as owner."); // get the port object serialPort = (SerialPort)portId.open("Test panther crash", 2000); // flow i/o serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE); outputStream = serialPort.getOutputStream(); inputStream = serialPort.getInputStream(); // settings serialPort.disableReceiveFraming(); serialPort.disableReceiveThreshold(); serialPort.disableReceiveTimeout(); // set baud rate serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // provide power to the device serialPort.setDTR(true); serialPort.setRTS(true); // setup the listener serialPort.addEventListener(this); //serialPort.notifyOnDataAvailable(true); serialPort.notifyOnOutputEmpty(true); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // send a break to reset DS2480 serialPort.sendBreak(5); // send the timing byte flushCom(); writeCom(FUNCTION_RESET); flushCom(); } catch(Exception e) { System.err.println("Exception creating and initing serial port: " + e.getMessage()); } finally { if (serialPort != null) serialPort.close(); // failed to get the port, clean up portId.removePortOwnershipListener(this); serialPort = null; } } //------------------------------------------------------------------------- /** Write a single character to the com port * * @param writeVal the data byte to write. * * @return 'true' if byte written without error. */ private boolean writeCom(char writeVal) { // provided debug on standard out if (doDebugMessages) System.out.print("W(" + Integer.toHexString(writeVal) + ")"); try { outputStream.write((int)writeVal); outputStream.flush(); return true; } catch(Exception E) { // provided debug on standard out System.out.println("EXCEPTION: USerialAdapter-writeCom(): " + E); } return false; } /** Flush the input and output buffer of any data */ private void flushCom() { // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-flush"); try { // flush the output outputStream.flush(); // flush the input buffer if (inputStream.available() > 0) { byte[] dummy = new byte[inputStream.available()]; inputStream.read(dummy); } } catch(Exception E) { // provided debug on standard out System.out.println("EXCEPTION: USerialAdapter-flush: " + E); } } public TestCrash(String PortName) { RXTXCommDriver TxPort = new RXTXCommDriver(); System.out.print("open Ports\n"); serialPort = (SerialPort) TxPort.getCommPort(PortName, CommPortIdentifier.PORT_SERIAL); System.out.println("Get Streams from serialPort: " + serialPort); try { inputStream = serialPort.getInputStream(); outputStream = serialPort.getOutputStream(); } catch (IOException e) { e.printStackTrace(); } try { serialPort.addEventListener(this); } catch (TooManyListenersException e) { e.printStackTrace(); } try { System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); System.out.print("Set Params\n"); serialPort.setSerialPortParams(19200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); System.out.print("Set Params\n"); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_7, SerialPort.STOPBITS_2, SerialPort.PARITY_ODD); System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); } catch (UnsupportedCommOperationException e) { e.printStackTrace(); } System.out.print("Sending 0x01\n"); try { outputStream.write((byte)0x01); System.out.print("0x01 Sent\n"); } catch (IOException e) { e.printStackTrace(); } } public void serialEvent(SerialPortEvent event) { switch(event.getEventType()) { case SerialPortEvent.BI: System.out.print("BI\n"); case SerialPortEvent.OE: System.out.print("OE\n"); case SerialPortEvent.FE: System.out.print("FE\n"); case SerialPortEvent.PE: System.out.print("PE\n"); case SerialPortEvent.CD: System.out.print("CD\n"); case SerialPortEvent.CTS: System.out.print("CTS\n"); case SerialPortEvent.DSR: System.out.print("DSR\n"); case SerialPortEvent.RI: System.out.print("RI\n"); case SerialPortEvent.OUTPUT_BUFFER_EMPTY: System.out.print("Out Buff Empty\n"); break; case SerialPortEvent.DATA_AVAILABLE: System.out.print("Data Available\n"); break; } } /** Oneship change event, required to be an CommPortOwnershipListener * * @param type ownership change type */ public void ownershipChange(int type) { switch(type) { case PORT_OWNED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_OWNED" + " by thread " + Thread.currentThread()); break; case PORT_UNOWNED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_UNOWNED" + " by thread " + Thread.currentThread()); break; case PORT_OWNERSHIP_REQUESTED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_OWNERSHIP_REQUESTED" + " by thread " + Thread.currentThread()); break; }// switch } } -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson@yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Tue Mar 14 23:21:47 2006 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner@12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj@www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry@12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson@yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson@yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson@yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx@linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 28 18:25:06 2006 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- /* * Test.class is just that.. a Test */ import java.io.*; import java.util.*; import gnu.io.*; public class TestCrash implements SerialPortEventListener, CommPortOwnershipListener { InputStream inputStream; OutputStream outputStream; SerialPort serialPort; Thread readThread; boolean debug = true; boolean doDebugMessages = debug; public static final char FUNCTION_RESET = 0xC1; public static void main(String[] args) { CommPortIdentifier portId; Enumeration portList; portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { if ( portId.isCurrentlyOwned() ) { System.out.println(portId.getName() + " with isCurrentlyOwned: true"); } else { System.out.println(portId.getName() + " with isCurrentlyOwned: false"); new TestCrash(portId); } //System.out.println(portId.getName() + " with owner: " + portId.getCurrentOwner()); } } if (args.length < 1) { System.out.print("Test.class /dev/ports/serialx\n"); System.exit(-1); } //System.out.println(System.getProperty("java.library.path")); //System.out.println("opening the Port: " + args[0]); //Test reader = new Test(args[0]); } public TestCrash(CommPortIdentifier portId) { try { portId.addPortOwnershipListener(this); System.out.println(portId.getName() + " just set this as owner."); // get the port object serialPort = (SerialPort)portId.open("Test panther crash", 2000); // flow i/o serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE); outputStream = serialPort.getOutputStream(); inputStream = serialPort.getInputStream(); // settings serialPort.disableReceiveFraming(); serialPort.disableReceiveThreshold(); serialPort.disableReceiveTimeout(); // set baud rate serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // provide power to the device serialPort.setDTR(true); serialPort.setRTS(true); // setup the listener serialPort.addEventListener(this); //serialPort.notifyOnDataAvailable(true); serialPort.notifyOnOutputEmpty(true); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // send a break to reset DS2480 serialPort.sendBreak(5); // send the timing byte flushCom(); writeCom(FUNCTION_RESET); flushCom(); } catch(Exception e) { System.err.println("Exception creating and initing serial port: " + e.getMessage()); } finally { if (serialPort != null) serialPort.close(); // failed to get the port, clean up portId.removePortOwnershipListener(this); serialPort = null; } } //------------------------------------------------------------------------- /** Write a single character to the com port * * @param writeVal the data byte to write. * * @return 'true' if byte written without error. */ private boolean writeCom(char writeVal) { // provided debug on standard out if (doDebugMessages) System.out.print("W(" + Integer.toHexString(writeVal) + ")"); try { outputStream.write((int)writeVal); outputStream.flush(); return true; } catch(Exception E) { // provided debug on standard out System.out.println("EXCEPTION: USerialAdapter-writeCom(): " + E); } return false; } /** Flush the input and output buffer of any data */ private void flushCom() { // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-flush"); try { // flush the output outputStream.flush(); // flush the input buffer if (inputStream.available() > 0) { byte[] dummy = new byte[inputStream.available()]; inputStream.read(dummy); } } catch(Exception E) { // provided debug on standard out System.out.println("EXCEPTION: USerialAdapter-flush: " + E); } } public TestCrash(String PortName) { RXTXCommDriver TxPort = new RXTXCommDriver(); System.out.print("open Ports\n"); serialPort = (SerialPort) TxPort.getCommPort(PortName, CommPortIdentifier.PORT_SERIAL); System.out.println("Get Streams from serialPort: " + serialPort); try { inputStream = serialPort.getInputStream(); outputStream = serialPort.getOutputStream(); } catch (IOException e) { e.printStackTrace(); } try { serialPort.addEventListener(this); } catch (TooManyListenersException e) { e.printStackTrace(); } try { System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); System.out.print("Set Params\n"); serialPort.setSerialPortParams(19200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); System.out.print("Set Params\n"); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_7, SerialPort.STOPBITS_2, SerialPort.PARITY_ODD); System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); } catch (UnsupportedCommOperationException e) { e.printStackTrace(); } System.out.print("Sending 0x01\n"); try { outputStream.write((byte)0x01); System.out.print("0x01 Sent\n"); } catch (IOException e) { e.printStackTrace(); } } public void serialEvent(SerialPortEvent event) { switch(event.getEventType()) { case SerialPortEvent.BI: System.out.print("BI\n"); case SerialPortEvent.OE: System.out.print("OE\n"); case SerialPortEvent.FE: System.out.print("FE\n"); case SerialPortEvent.PE: System.out.print("PE\n"); case SerialPortEvent.CD: System.out.print("CD\n"); case SerialPortEvent.CTS: System.out.print("CTS\n"); case SerialPortEvent.DSR: System.out.print("DSR\n"); case SerialPortEvent.RI: System.out.print("RI\n"); case SerialPortEvent.OUTPUT_BUFFER_EMPTY: System.out.print("Out Buff Empty\n"); break; case SerialPortEvent.DATA_AVAILABLE: System.out.print("Data Available\n"); break; } } /** Oneship change event, required to be an CommPortOwnershipListener * * @param type ownership change type */ public void ownershipChange(int type) { switch(type) { case PORT_OWNED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_OWNED" + " by thread " + Thread.currentThread()); break; case PORT_UNOWNED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_UNOWNED" + " by thread " + Thread.currentThread()); break; case PORT_OWNERSHIP_REQUESTED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_OWNERSHIP_REQUESTED" + " by thread " + Thread.currentThread()); break; }// switch } } -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Tue Mar 28 18:25:07 2006 Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Tue Mar 28 18:25:07 2006 Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Tue Mar 28 18:25:07 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson@yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Tue Mar 28 18:25:07 2006 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0001.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Tue Mar 28 18:25:07 2006 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Tue Mar 28 18:25:07 2006 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Tue Mar 28 20:17:06 2006 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry@12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner@12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj@www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry@12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry@12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 28 20:17:06 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson@yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 28 20:17:06 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson@yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson@yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx@linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx@linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- /* * Test.class is just that.. a Test */ import java.io.*; import java.util.*; import gnu.io.*; public class TestCrash implements SerialPortEventListener, CommPortOwnershipListener { InputStream inputStream; OutputStream outputStream; SerialPort serialPort; Thread readThread; boolean debug = true; boolean doDebugMessages = debug; public static final char FUNCTION_RESET = 0xC1; public static void main(String[] args) { CommPortIdentifier portId; Enumeration portList; portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { if ( portId.isCurrentlyOwned() ) { System.out.println(portId.getName() + " with isCurrentlyOwned: true"); } else { System.out.println(portId.getName() + " with isCurrentlyOwned: false"); new TestCrash(portId); } //System.out.println(portId.getName() + " with owner: " + portId.getCurrentOwner()); } } if (args.length < 1) { System.out.print("Test.class /dev/ports/serialx\n"); System.exit(-1); } //System.out.println(System.getProperty("java.library.path")); //System.out.println("opening the Port: " + args[0]); //Test reader = new Test(args[0]); } public TestCrash(CommPortIdentifier portId) { try { portId.addPortOwnershipListener(this); System.out.println(portId.getName() + " just set this as owner."); // get the port object serialPort = (SerialPort)portId.open("Test panther crash", 2000); // flow i/o serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE); outputStream = serialPort.getOutputStream(); inputStream = serialPort.getInputStream(); // settings serialPort.disableReceiveFraming(); serialPort.disableReceiveThreshold(); serialPort.disableReceiveTimeout(); // set baud rate serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // provide power to the device serialPort.setDTR(true); serialPort.setRTS(true); // setup the listener serialPort.addEventListener(this); //serialPort.notifyOnDataAvailable(true); serialPort.notifyOnOutputEmpty(true); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // send a break to reset DS2480 serialPort.sendBreak(5); // send the timing byte flushCom(); writeCom(FUNCTION_RESET); flushCom(); } catch(Exception e) { System.err.println("Exception creating and initing serial port: " + e.getMessage()); } finally { if (serialPort != null) serialPort.close(); // failed to get the port, clean up portId.removePortOwnershipListener(this); serialPort = null; } } //------------------------------------------------------------------------- /** Write a single character to the com port * * @param writeVal the data byte to write. * * @return 'true' if byte written without error. */ private boolean writeCom(char writeVal) { // provided debug on standard out if (doDebugMessages) System.out.print("W(" + Integer.toHexString(writeVal) + ")"); try { outputStream.write((int)writeVal); outputStream.flush(); return true; } catch(Exception E) { // provided debug on standard out System.out.println("EXCEPTION: USerialAdapter-writeCom(): " + E); } return false; } /** Flush the input and output buffer of any data */ private void flushCom() { // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-flush"); try { // flush the output outputStream.flush(); // flush the input buffer if (inputStream.available() > 0) { byte[] dummy = new byte[inputStream.available()]; inputStream.read(dummy); } } catch(Exception E) { // provided debug on standard out System.out.println("EXCEPTION: USerialAdapter-flush: " + E); } } public TestCrash(String PortName) { RXTXCommDriver TxPort = new RXTXCommDriver(); System.out.print("open Ports\n"); serialPort = (SerialPort) TxPort.getCommPort(PortName, CommPortIdentifier.PORT_SERIAL); System.out.println("Get Streams from serialPort: " + serialPort); try { inputStream = serialPort.getInputStream(); outputStream = serialPort.getOutputStream(); } catch (IOException e) { e.printStackTrace(); } try { serialPort.addEventListener(this); } catch (TooManyListenersException e) { e.printStackTrace(); } try { System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); System.out.print("Set Params\n"); serialPort.setSerialPortParams(19200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); System.out.print("Set Params\n"); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_7, SerialPort.STOPBITS_2, SerialPort.PARITY_ODD); System.out.println("Baud is " + serialPort.getBaudRate()); System.out.println("Bits is " + serialPort.getDataBits()); System.out.println("Stop is " + serialPort.getStopBits()); System.out.println("Par is " + serialPort.getParity()); } catch (UnsupportedCommOperationException e) { e.printStackTrace(); } System.out.print("Sending 0x01\n"); try { outputStream.write((byte)0x01); System.out.print("0x01 Sent\n"); } catch (IOException e) { e.printStackTrace(); } } public void serialEvent(SerialPortEvent event) { switch(event.getEventType()) { case SerialPortEvent.BI: System.out.print("BI\n"); case SerialPortEvent.OE: System.out.print("OE\n"); case SerialPortEvent.FE: System.out.print("FE\n"); case SerialPortEvent.PE: System.out.print("PE\n"); case SerialPortEvent.CD: System.out.print("CD\n"); case SerialPortEvent.CTS: System.out.print("CTS\n"); case SerialPortEvent.DSR: System.out.print("DSR\n"); case SerialPortEvent.RI: System.out.print("RI\n"); case SerialPortEvent.OUTPUT_BUFFER_EMPTY: System.out.print("Out Buff Empty\n"); break; case SerialPortEvent.DATA_AVAILABLE: System.out.print("Data Available\n"); break; } } /** Oneship change event, required to be an CommPortOwnershipListener * * @param type ownership change type */ public void ownershipChange(int type) { switch(type) { case PORT_OWNED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_OWNED" + " by thread " + Thread.currentThread()); break; case PORT_UNOWNED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_UNOWNED" + " by thread " + Thread.currentThread()); break; case PORT_OWNERSHIP_REQUESTED: // provided debug on standard out if (debug) System.out.println("DEBUG: USerialAdapter-Ownership Change - PORT_OWNERSHIP_REQUESTED" + " by thread " + Thread.currentThread()); break; }// switch } } -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson@yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0002.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Tue Mar 28 20:17:07 2006 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0003.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0001.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0004.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0002.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0005.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0003.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0006.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0004.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0007.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0005.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0008.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0006.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0009.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0007.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0010.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0008.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0011.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0009.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0012.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0010.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0013.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0011.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0014.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0012.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0015.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0013.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0016.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0014.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0017.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0015.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0018.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0016.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0019.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0017.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0020.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0018.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0021.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0019.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0022.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0020.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0023.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0021.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0024.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0022.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0025.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0023.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0026.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0024.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0027.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0025.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0028.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0026.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0029.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0027.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0030.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0028.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0031.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0029.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0032.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0030.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0033.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0031.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0034.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0032.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0035.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0033.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0036.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0034.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0037.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0035.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0038.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0036.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0039.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0037.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0040.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0038.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0041.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0039.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0042.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0040.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0043.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0041.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0044.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0042.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0045.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0043.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0046.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0044.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0047.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0045.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From mba at embedded-zone.com Thu Nov 6 05:12:29 2003 From: mba at embedded-zone.com (Moussa A. Ba) Date: Thu, 6 Nov 2003 07:12:29 -0500 Subject: [Rxtx] Controlling Individual Signals DTR and RTS Message-ID: <001001c3a45f$406e3a80$2ba5c8d0@MUSALTOP> Good Day, does anybody know whether it is possible to control RTS/DTR individually? That is, could I set and control their value (this is used to generate a DTR reset on a board connected to the serial port). I would also like to use these signals to generate a sequence for accessing the board's boot loader. I it is impossible to do this with the current version of RXTX, where should I look in the C code to add such a possibility. Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.qbang.org/pipermail/rxtx/attachments/20031106/7c160a3c/attachment-0048.html From ballagas at cs.rwth-aachen.de Sun Nov 9 11:04:07 2003 From: ballagas at cs.rwth-aachen.de (Tico Ballagas) Date: Sun, 09 Nov 2003 19:04:07 +0100 Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port Message-ID: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Hello- I was using the rxtx package with Mac OS X with bluetooth mounted to the serial port. The problem I had is that whenever the bluetooth device was unavailable, the rxtx package would correctly fail to connect, but incorrectly held on to the lock for the serial port. This prevented connection later when the bluetooth device became available. I fixed this by releasing the lock on the connection error. Note: I have not committed this change to CVS. Thanks -Tico [media:~/sandbox/rxtx-2.0-5/src] ballagas% diff -c -3 -p SerialImp.c SerialImp.c.orig *** SerialImp.c Sun Nov 9 18:43:08 2003 --- SerialImp.c.orig Thu Oct 3 14:07:50 2002 *************** JNIEXPORT jint JNICALL RXTXPort(open)( *** 602,608 **** return (jint)fd; fail: - UNLOCK( filename, pid ); (*env)->ReleaseStringUTFChars( env, jstr, filename ); LEAVE( "RXTXPort:open" ); throw_java_exception( env, PORT_IN_USE_EXCEPTION, "open", --- 602,607 ---- From taj at linuxgrrls.org Sun Nov 9 23:33:29 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Mon, 10 Nov 2003 06:33:29 +0000 (GMT) Subject: [Rxtx] patch - omitted unlock on open failures for Mac OS X port In-Reply-To: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> References: <1CA7ED86-12DF-11D8-B18B-000A95A67CE2@cs.rwth-aachen.de> Message-ID: On Sun, 9 Nov 2003, Tico Ballagas wrote: > Hello- > > I was using the rxtx package with Mac OS X with bluetooth mounted to > the serial port. The problem I had is that whenever the bluetooth > device was unavailable, the rxtx package would correctly fail to > connect, but incorrectly held on to the lock for the serial port. This > prevented connection later when the bluetooth device became available. > I fixed this by releasing the lock on the connection error. Note: I > have not committed this change to CVS. > Thanks Tico I put the change into CVS as submitted. From david.garnier at trusted-logic.fr Thu Nov 6 04:07:33 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Thu, 06 Nov 2003 12:07:33 +0100 Subject: [Rxtx] Error while compiling under windows Message-ID: <5.2.0.9.0.20031106113900.02b6ad38@mail.trusted-logic.fr> Hello, I need to make RXTX run under Windows 2000, preferably using mingw and msys. I'm already using under Linux and I'm very satisfied. Background: RXTX version: rxtx-2.1-7pre16. Msys: 1.0.9 Mingw: 3.1.0-1.exe There was a few problem in the code that were easily fixed: -- Missing ; and char message[80] in termios.h -- Missing gettimeofday function: I programmed my own and included it. -- Defined mexPrintf to printf. Also, I use msys instead of DOS shell so I have to modified the makefile (see the attached file). Now, my problem is that when I run make clean all I'm getting this: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp mkdir include mkdir gnu mkdir gnu/io cp "../src"/*.* gnu/io/ echo > gnutimestamp javac -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar gnu/io/*.java jar -cf RXTXcomm.jar gnu/io/*.class javah -classpath .:"/c/j2sdk1.4.1_02-rxtx//jre/lib/ext"/comm.jar -jni -d include gnu.io.CommDriver gnu.io.CommPort gnu.io.CommPortEnumerator gnu.io.CommPortIdentifier gnu.io.CommPortOwnershipListener gnu.io.Configure gnu.io.I2C gnu.io.I2CPort gnu.io.I2CPortEvent gnu.io.I2CPortEventListener gnu.io.LPRPort gnu.io.NoSuchPortException gnu.io.ParallelPort gnu.io.ParallelPortEvent gnu.io.ParallelPortEventListener gnu.io.PortInUseException gnu.io.RS485 gnu.io.RS485Port gnu.io.RS485PortEvent gnu.io.RS485PortEventListener gnu.io.RXTXCommDriver gnu.io.RXTXPort gnu.io.RXTXVersion gnu.io.Raw gnu.io.RawPort gnu.io.RawPortEvent gnu.io.RawPortEventListener gnu.io.SerialPort gnu.io.SerialPortEvent gnu.io.SerialPortEventListener gnu.io.UnSupportedLoggerException gnu.io.UnsupportedCommOperationException gnu.io.Zystem gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/fixup.c -o fixup.o echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/SerialImp.c -o SerialImp.o In file included from ../src/SerialImp.c:45: ../src/gettimeofday.h: In function `gettimeofday': ../src/gettimeofday.h:39: warning: unused variable `tzflag' ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_open': ../src/SerialImp.c:514: warning: int format, long int arg (arg 4) ../src/SerialImp.c:514: warning: int format, long int arg (arg 5) ../src/SerialImp.c:571: warning: int format, long int arg (arg 2) ../src/SerialImp.c:571: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeClose': ../src/SerialImp.c:597: warning: int format, long int arg (arg 4) ../src/SerialImp.c:597: warning: int format, long int arg (arg 5) ../src/SerialImp.c:634: warning: int format, long int arg (arg 2) ../src/SerialImp.c:634: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeSetSerialPortParams': ../src/SerialImp.c:768: warning: int format, long int arg (arg 4) ../src/SerialImp.c:768: warning: int format, long int arg (arg 5) ../src/SerialImp.c:797: warning: int format, long int arg (arg 2) ../src/SerialImp.c:797: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `init_threads': ../src/SerialImp.c:1217: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1217: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeByte': ../src/SerialImp.c:1244: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1244: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1283: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_writeArray': ../src/SerialImp.c:1330: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1330: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1385: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_nativeDrain': ../src/SerialImp.c:1414: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1414: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1442: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_sendBreak': ../src/SerialImp.c:1458: warning: int format, long int arg (arg 4) ../src/SerialImp.c:1458: warning: int format, long int arg (arg 5) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 2) ../src/SerialImp.c:1461: warning: int format, long int arg (arg 3) ../src/SerialImp.c: In function `read_byte_array': ../src/SerialImp.c:2794: warning: int format, long int arg (arg 4) ../src/SerialImp.c:2794: warning: int format, long int arg (arg 5) ../src/SerialImp.c: In function `Java_gnu_io_RXTXPort_eventLoop': ../src/SerialImp.c:3919: warning: int format, long int arg (arg 2) ../src/SerialImp.c:3919: warning: int format, long int arg (arg 3) gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/termios.c -o termios.o gcc -O2 -I . -I /c/j2sdk1.4.1_02-rxtx//include -I /c/j2sdk1.4.1_02-rxtx//include/win32 -I "../src" -I include -I /c/mingw/include -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING -c "../src"/init.cc -o init.o ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 cp "../src"/Serial.def gnu/io/ ld --base-file Serial.base --dll -o rxtxSerial.dll fixup.o SerialImp.o termios.o init.o \ -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 dlltool --as=as --dllname rxtxSerial.dll --def "../src"/Serial.def \ --base-file Serial.base --output-exp Serial.exp ld --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ fixup.o SerialImp.o termios.o init.o -L. -L "/c/mingw/lib" -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc -lmingw32 -e _dll_entry at 12 Serial.exp(.edata+0xb0):fake: undefined reference to `Java_gnu_io_CommPortIdentifier_native_1psmisc_1report_1owner at 12' make: *** [rxtxSerial.dll] Error 1 I know enough about C and makefiles to get there, but this is kind of out of my league. Any idea about ways to solve this problem? Best Regards, David Garnier -------------- next part -------------- #------------------------------------------------------------------------- # rxtx is a native interface to serial ports in java. # Copyright 1997-2002 by Trent Jarvi taj at www.linux.org.uk. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #------------------------------------------------------------------------- # This Makefile works on windows 2000 with mingw32 in a minsys shell. # One catch. We cant figure out how to generate .def files with default # DOS tools and mingw32. Install Cygwin if you are adding/removing/chaninging # C functions. # # The Javax Comm Library must be installed in $COMMINSTALL prior to running this script. # # libgcc.a MUST be in MINGW/lib (it is not by default) ###################### # user defined variables ###################### # path to the jdk directory that has include, bin, lib, ... JAVA_HOME=/c/j2sdk1.4.1_02-rxtx/ #path to mingw32 MINGHOME=/c/mingw ###################### # Variables that you may want to change if you like to mess up with things and stuff. ###################### # path to the source code (directory with SerialImp.c) SRC="../src" # path to install RXTXcomm.jar DOS style path COMMINSTALL="$(JAVA_HOME)/jre/lib/ext" # path to install the shared libraries DOS style path LIBINSTALL="$(JAVA_HOME)/jre/bin" # path to the mingw32 libraries (directory with libmingw32.a) LIBDIR="$(MINGHOME)/lib" ###################### # Tools ###################### AS=as CC=gcc LD=ld DLLTOOL=dlltool # this looks like a nice tool but I was not able to get symbols in the dll. DLLWRAP=dllwrap CLASSPATH=-classpath .:$(COMMINSTALL)/comm.jar JAVAH=javah $(CLASSPATH) JAR=jar JAVAC=javac $(CLASSPATH) ###################### # Tool Flags ###################### CFLAGS_CYGWIN= -O2 $(INCLUDE) -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRACE -D DEBUG_VERBOSE -D DEBUG -D DEBUG_TIMING #CFLAGS= -O2 $(INCLUDE) -mno-cygwin -DWIN32 -D __int64="long long" -mno-fp-ret-in-387 -Wall -D TRENT_IS_HERE_DEBUGGING_ENUMERATION -DTRENT_IS_HERE_DEBUGGING_THREADS INCLUDE= -I . -I $(JDKINCLUDE) -I $(JDKINCLUDE)/win32 -I $(SRC) -I include -I $(MINGINCLUDE) JAVAHFLAGS= -jni -d include LIBS=-L. -L $(LIBDIR) -luser32 -lgdi32 -lcomdlg32 -lkernel32 -ladvapi32 -lmoldname -lcrtdll -lgcc # path to the java native interface headers (directory with jni.h) JDKINCLUDE=$(JAVA_HOME)/include MINGINCLUDE=$(MINGHOME)/include JAVAFILES = $(wildcard $(SRC)/*.java) CFILES=$(wildcard $(SRC)/*.c) $(wildcard $(SRC)/*.cc) TARGETLIBS= rxtxSerial.dll DLLOBJECTS= fixup.o SerialImp.o termios.o init.o all: $(TARGETLIBS) # rebuild rebuild will force everything to be built. include: mkdir include gnu: mkdir gnu mkdir gnu/io # yayaya We should have put the files in gnu.io to start with gnutimestamp: $(JAVAFILES) $(CFILES) include gnu cp $(SRC)/*.* gnu/io/ echo > gnutimestamp # FIXME make 3.79.1 behaves really strage if we use %.o rules. init.o: $(CC) $(CFLAGS) -c $(SRC)/init.cc -o init.o fixup.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o fixup.o SerialImp.o: include/config.h $(CC) $(CFLAGS) -c $(SRC)/SerialImp.c -o SerialImp.o termios.o: $(CC) $(CFLAGS) -c $(SRC)/$*.c -o termios.o # This file is a pain in the rear to generate. If your looking at this you # need to install cygwin. $(SRC)/Serial.def: $(DLLOBJECTS) $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 cp $(SRC)/Serial.def gnu/io/ # echo EXPORTS >$(SRC)/Serial.def;for i in `nm rxtxSerial.dll | grep "T _Java"|cut -b 13-`;do echo -n $$i|sed s#@.*##;echo "="$$i;done >> $(SRC)/Serial.def rxtxSerial.dll: RXTXcomm.jar $(DLLOBJECTS) $(SRC)/Serial.def $(LD) --base-file Serial.base --dll -o rxtxSerial.dll $(DLLOBJECTS) \ $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 $(DLLTOOL) --as=$(AS) --dllname rxtxSerial.dll --def $(SRC)/Serial.def \ --base-file Serial.base --output-exp Serial.exp $(LD) --base-file Serial.base Serial.exp -dll -o rxtxSerial.dll \ $(DLLOBJECTS) $(LIBS) -lmingw32 -e _dll_entry at 12 # # This should replace the mess above if it worked. # nm shows no symbols in the dll produced. The old stuff above works ok. # $(DLLWRAP) --output-def $*.def --output-exp $*.exp \ # --add-stdcall-alias --driver-name gcc -mwindows \ # --target=i386-mingw32 -o $*.dll $(DLLOBJECTS) $(LIBS) -s # -mno-cygwin RXTXcomm.jar: gnutimestamp $(JAVAC) gnu/io/*.java $(JAR) -cf RXTXcomm.jar gnu/io/*.class $(JAVAH) $(JAVAHFLAGS) $(patsubst gnu/io/%.java,gnu.io.%,$(wildcard gnu/io/*.java)) include/config.h: gnutimestamp echo "#define HAVE_FCNTL_H 1" > include/config.h echo "#define HAVE_SIGNAL_H 1" >> include/config.h echo "#define HAVE_SYS_FCNTL_H 1" >> include/config.h echo "#define HAVE_SYS_FILE_H 1" >> include/config.h echo "#undef HAVE_SYS_SIGNAL_H" >> include/config.h echo "#undef HAVE_TERMIOS_H" >> include/config.h install: all cp RXTXcomm.jar $(COMMINSTALL) cp $(TARGETLIBS) $(LIBINSTALL) #uninstall: # del $(COMMINSTALL)\\\RXTXcomm.jar # del $(LIBINSTALL)\\\$(TARGETLIBS) clean: rm -rf gnu include RXTXcomm.jar Serial.* rxtxSerial.* *.O.o *.O *.o gnutimestamp From edpersson at qwest.net Thu Nov 6 08:25:39 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 08:25:39 -0700 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d98310 in 0x3d98310 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 10: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d97e30 in 0x3d97e30 #11 0x03d97fb0 in 0x3d97fb0 #12 0x03d97fb0 in 0x3d97fb0 #13 0x03d97fb0 in 0x3d97fb0 #14 0x03d9516c in 0x3d9516c #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #16 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #17 0x94818868 in JVM_Close (JVM_Close + 1208) #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #19 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #20 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #21 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #22 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 11: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d98310 in 0x3d98310 #11 0x03d9516c in 0x3d9516c #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #13 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #14 0x94818868 in JVM_Close (JVM_Close + 1208) #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #16 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #17 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #18 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #19 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 12: #0 0x9000b30c in select (select + 12) #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop (Java_gnu_io_RXTXPort_eventLoop + 184) #2 0x03d9e580 in 0x3d9e580 #3 0x03d97fb0 in 0x3d97fb0 #4 0x03d9516c in 0x3d9516c #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #6 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #7 0x94818868 in JVM_Close (JVM_Close + 1208) #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #9 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #10 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #11 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #12 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 13: #0 0x90012688 in clock_sleep_trap (clock_sleep_trap + 8) #1 0x9000d858 in nanosleep (nanosleep + 120) #2 0x90012388 in usleep (usleep + 72) #3 0x08959864 in drain_loop (drain_loop + 60) #4 0x900247e8 in _pthread_body (_pthread_body + 40) PPC Thread State: srr0: 0x947bdd4c srr1: 0x0000f030 vrsave: 0x00000000 cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c ctr: 0x949dcb90 r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 r3: 0x6b0274d0 r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 r7: 0x947bb754 r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 r11: 0x03d9e564 r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 r15: 0x08959d6c r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 r19: 0xf07ff784 r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 r23: 0xf07ff6d0 r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 r27: 0xf07ff5d4 r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 r31: 0x947bdd3c Thanks. edpersson at yahoo.com From dmarkman at mac.com Thu Nov 6 09:37:15 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 11:37:15 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C@mac.com> Hmm, I didn't change even a byte in PB project from 2.1.7 package I opened it with XCode 1.0.1 and it built everything out of the box why did you add -dynamiclib flag? librxtxSerial.jnilib is building as Mach-O bundle I don't think it will change anything but still unfortunately I don't have any hardware right now so I can't check it On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From dmarkman at mac.com Thu Nov 6 10:51:00 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 12:51:00 -0500 Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" In-Reply-To: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> References: <7A03CAEE-106D-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: BTW: did you install latest KeySpan drivers for Panther? (if you use KeySpan adapter of course) On Nov 6, 2003, at 10:25 AM, Erik Persson wrote: > Greetings, > > I have downloaded, compiled and installed both > rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. > > In both cases I used the pbproject with XCode. The > only change I had to make was the addition of a Mach-O > Linker flag of "-dynamiclib". > > After doing some very simple verifications using > contrib/Test.java, I compiled and tried to use the > Dallas Semicondutor iButton software which uses rxtx. > After a quick change to the imports (gnu.io) and a few > changes for JDK1.4 support, I thought I was ready to > go. > > A quick "Bus error" indicated that all was not well. > After digging around a bit, I have found the > following, perhaps meaningful error information. > > If there is an rxtx test suite that I should run or > any other debugging that would help, I am happy to do > so. > > It may well be that this bug is in Panther and not > RXTX, but I figured I would start here since I suspect > that Apple developers are a bit busy at the moment! > ;-) My apologies in advance if this post is > off-topic, does not provide enough detail, should have > waited for me to do more debugging, or is just too > boring for this list. > > The java code in question is trying to flush on a > SerialPort's output stream when the kernel exception > occurs. > > With DEBUG and DEBUG_VERBOSE defined for the RXTX > jnilibs I get the following output (the first line > coming from the dalsemi java code): > > DEBUG: USerialAdapter-flush > W(c1)writeByte ?>> > writeByte: index->writing = 1RXTXPort:writeByte 1 > nativeDrain: trying tcdrain > RXTXPort:drain() returns: 0 > send_event: !eventloop_interupted > send_event: jclazz > send_event: calling > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > drain_loop: writing not set > drain_loop: looping > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > entering check_tiocmget_changes > leaving check_tiocmget_changes > port_has_changed_fionread: change is 0 > Bus error > > The debug information from OSX is: > Date/Time: 2003-11-05 13:12:50 -0700 > OS Version: 10.3 (Build 7B85) > > Command: java (/usr/bin/java) > PID: 5232 > Thread: 1 > > Exception: EXC_BAD_ACCESS (0x0001) > Codes: KERN_PROTECTION_FAILURE (0x0002) at > 0x00000004 > > Thread 0: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + > 848) > #3 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #4 0x927d5ecc in RunCurrentEventLoopInMode > (RunCurrentEventLoopInMode + 172) > #5 0x927dc640 in ReceiveNextEventCommon > (ReceiveNextEventCommon + 380) > #6 0x927fe6d0 in > BlockUntilNextEventMatchingListInMode > (BlockUntilNextEventMatchingListInMode + 96) > #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + > 384) > #8 0x92de93fc in -[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] > (-[NSApplication > nextEventMatchingMask:untilDate:inMode:dequeue:] + > 116) > #9 0x92dfd730 in -[NSApplication run] > (-[NSApplication run] + 540) > #10 0x817db7c4 in -[StartupUtility run] > (-[StartupUtility run] + 272) > #11 0x90a1ad24 in __NSFireMainThreadPerform > (__NSFireMainThreadPerform + 264) > #12 0x901e4820 in __CFRunLoopPerformPerform > (__CFRunLoopPerformPerform + 136) > #13 0x90193ed8 in __CFRunLoopDoSources0 > (__CFRunLoopDoSources0 + 508) > #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + > 432) > #15 0x901960bc in CFRunLoopRunSpecific > (CFRunLoopRunSpecific + 328) > #16 0x000061d8 in 0x61d8 > #17 0x00003c88 in 0x3c88 > #18 0x00003afc in 0x3afc > > Thread 1 Crashed: > #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + > 892) > #1 0x947c310c in JVM_GetCPFieldClassNameUTF > (JVM_GetCPFieldClassNameUTF + 15932) > #2 0x947c6f70 in JVM_GetMethodIxLocalsCount > (JVM_GetMethodIxLocalsCount + 10736) > #3 0x947fd8e0 in JVM_SocketAvailable > (JVM_SocketAvailable + 4544) > #4 0x947d5654 in JVM_FillInStackTrace > (JVM_FillInStackTrace + 4356) > #5 0x947abb80 in JVM_MonitorNotify > (JVM_MonitorNotify + 1984) > #6 0x03da6568 in 0x3da6568 > #7 0x03d9516c in 0x3d9516c > #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #9 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #10 0x948d2cf0 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72080) > #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + > 1176) > #12 0x0895d0f8 in send_event (send_event + 204) > #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain > (Java_gnu_io_RXTXPort_nativeDrain + 300) > #14 0x03d9e580 in 0x3d9e580 > #15 0x03d97e30 in 0x3d97e30 > #16 0x03d97fb0 in 0x3d97fb0 > #17 0x03d97e30 in 0x3d97e30 > #18 0x03d97fb0 in 0x3d97fb0 > #19 0x03d97e30 in 0x3d97e30 > #20 0x03d98190 in 0x3d98190 > #21 0x03d97ec0 in 0x3d97ec0 > #22 0x03d97fb0 in 0x3d97fb0 > #23 0x03d9516c in 0x3d9516c > #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #25 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #26 0x948d06fc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 62364) > #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + > 66524) > #28 0x00004614 in 0x4614 > #29 0x000060c4 in 0x60c4 > #30 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 2: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x9487f80c in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17580) > #3 0x9487f7a0 in JNI_CreateJavaVM_Impl > (JNI_CreateJavaVM_Impl + 17472) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 3: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947da944 in __divdi3 (__divdi3 + 20612) > #4 0x947f0480 in JVM_GetMethodIxModifiers > (JVM_GetMethodIxModifiers + 1264) > #5 0x94897b8c in JVM_GetInterfaceVersion > (JVM_GetInterfaceVersion + 97052) > #6 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #7 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 4: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d9516c in 0x3d9516c > #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #11 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #12 0x94818868 in JVM_Close (JVM_Close + 1208) > #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #14 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #15 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #16 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #17 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 5: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 6: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7688 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4584) > #3 0x947b7130 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6160) > #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF > (JVM_GetCPMethodSignatureUTF + 6576) > #5 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #6 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 7: > #0 0x90014628 in semaphore_wait_trap > (semaphore_wait_trap + 8) > #1 0x948d2e80 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 72480) > #2 0x948d2044 in JVM_UnloadLibrary > (JVM_UnloadLibrary + 68836) > #3 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #4 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #5 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 8: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) > #4 0x94811ce0 in JVM_GetFieldIxModifiers > (JVM_GetFieldIxModifiers + 2912) > #5 0x947fda2c in JVM_SocketAvailable > (JVM_SocketAvailable + 4876) > #6 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #7 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #8 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 9: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d98310 in 0x3d98310 > #10 0x03d9516c in 0x3d9516c > #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #12 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #13 0x94818868 in JVM_Close (JVM_Close + 1208) > #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #15 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #16 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #17 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #18 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 10: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97fb0 in 0x3d97fb0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d97e30 in 0x3d97e30 > #11 0x03d97fb0 in 0x3d97fb0 > #12 0x03d97fb0 in 0x3d97fb0 > #13 0x03d97fb0 in 0x3d97fb0 > #14 0x03d9516c in 0x3d9516c > #15 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #16 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #17 0x94818868 in JVM_Close (JVM_Close + 1208) > #18 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #19 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #20 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #21 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #22 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 11: > #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) > #1 0x90007118 in mach_msg (mach_msg + 56) > #2 0x947a7608 in JVM_GetClassAccessFlags > (JVM_GetClassAccessFlags + 4456) > #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header > + 8244) > #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) > #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + > 264) > #6 0x03d9e580 in 0x3d9e580 > #7 0x03d97fb0 in 0x3d97fb0 > #8 0x03d97ec0 in 0x3d97ec0 > #9 0x03d97ec0 in 0x3d97ec0 > #10 0x03d98310 in 0x3d98310 > #11 0x03d9516c in 0x3d9516c > #12 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #13 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #14 0x94818868 in JVM_Close (JVM_Close + 1208) > #15 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #16 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #17 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #18 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #19 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 12: > #0 0x9000b30c in select (select + 12) > #1 0x0895c598 in Java_gnu_io_RXTXPort_eventLoop > (Java_gnu_io_RXTXPort_eventLoop + 184) > #2 0x03d9e580 in 0x3d9e580 > #3 0x03d97fb0 in 0x3d97fb0 > #4 0x03d9516c in 0x3d9516c > #5 0x947ba0f8 in JVM_GetCPMethodClassNameUTF > (JVM_GetCPMethodClassNameUTF + 2856) > #6 0x947dbce8 in JVM_GetCPClassNameUTF > (JVM_GetCPClassNameUTF + 2456) > #7 0x94818868 in JVM_Close (JVM_Close + 1208) > #8 0x94829120 in JVM_Interrupt (JVM_Interrupt + > 736) > #9 0x948cdeac in JVM_UnloadLibrary > (JVM_UnloadLibrary + 52044) > #10 0x948145d4 in JVM_FindClassFromClass > (JVM_FindClassFromClass + 3092) > #11 0x9496f9cc in JVM_UnloadLibrary > (JVM_UnloadLibrary + 714348) > #12 0x900247e8 in _pthread_body (_pthread_body + 40) > > Thread 13: > #0 0x90012688 in clock_sleep_trap (clock_sleep_trap > + 8) > #1 0x9000d858 in nanosleep (nanosleep + 120) > #2 0x90012388 in usleep (usleep + 72) > #3 0x08959864 in drain_loop (drain_loop + 60) > #4 0x900247e8 in _pthread_body (_pthread_body + 40) > > PPC Thread State: > srr0: 0x947bdd4c srr1: 0x0000f030 > vrsave: 0x00000000 > cr: 0x82002224 xer: 0x20000004 lr: 0x947bdd3c > ctr: 0x949dcb90 > r0: 0x6b0274e8 r1: 0xf07ff3a0 r2: 0x02816430 > r3: 0x6b0274d0 > r4: 0x00000000 r5: 0x005125b0 r6: 0x82002224 > r7: 0x947bb754 > r8: 0x00003000 r9: 0x0281642c r10: 0x947fd8e0 > r11: 0x03d9e564 > r12: 0x949dcb90 r13: 0x005125b0 r14: 0x670659d8 > r15: 0x08959d6c > r16: 0xf07ff7a0 r17: 0x6b02c870 r18: 0xf07ff834 > r19: 0xf07ff784 > r20: 0x6b0341f0 r21: 0x6b02c753 r22: 0x03d9e580 > r23: 0xf07ff6d0 > r24: 0x005125b0 r25: 0x00000000 r26: 0x00000000 > r27: 0xf07ff5d4 > r28: 0x0281642c r29: 0x00000000 r30: 0x6b0274d0 > r31: 0x947bdd3c > > > Thanks. > > edpersson at yahoo.com > > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 11:14:09 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 11:14:09 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <20031106163003.DA07173298@mail.linuxgrrls.org> References: <20031106163003.DA07173298@mail.linuxgrrls.org> Message-ID: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Dmitry, I am embarrassed to say that I cannot reproduce the linker problem with a fresh version of: ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz I guess I was not as methodical as I had thought. Sorry. Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 was: "-single_module or -multi_module flags can only be used when -dylib is also specified" After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx there was one small problem, which is that "RXTXcomm" target does not have Zystem.java or UnSupportedLoggerException.java, so I added those from the src directory. Clearly not a big deal. Sadly I still get the bus error with the "-bundle" version of 2.1-7pre16. I verified that I am using the jnilib and jar files that I just built above. Unless someone can point out some existing test code for rxtx (or any other test which should be run), I will try to simplify the code required to reproduce the "Bus error." Thanks, Erik > Message: 2 > Date: Thu, 6 Nov 2003 11:37:15 -0500 > From: Dmitry Markman > Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" > To: Java RXTX discussion > Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> > Content-Type: text/plain; charset=US-ASCII; format=flowed > > Hmm, > I didn't change even a byte in PB project from 2.1.7 package > I opened it with XCode 1.0.1 and it built everything out of the box > why did you add -dynamiclib flag? > > librxtxSerial.jnilib is building as Mach-O bundle > > I don't think it will change anything but still > > unfortunately I don't have any hardware right now > > so I can't check it > ... > Dmitry Markman > > > ------------------------------ > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > > End of Rxtx Digest, Vol 8, Issue 2 > ********************************** > From dmarkman at mac.com Thu Nov 6 12:24:03 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 14:24:03 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 2 In-Reply-To: <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> References: <20031106163003.DA07173298@mail.linuxgrrls.org> <044E778A-1085-11D8-BDAC-003065BF1AB2@qwest.net> Message-ID: I tried 2.1.7 package with our application and it worked for about 3-4 min without problem after that I just quit and I saw that lock file was deleted properly I'm working with 10.3 jdk 1.4.1 but maybe you have other hardware our use communication with communication with low rate I tested contrib/Test.java as well only change I did: I put TxPort.initialize(); after creating TxPort otherwise I got nullPointer exception (osName wasn't defined) and I put System.exit(0) at very end (otherwise JVM didn't quit) after that I tried with 2 available ports: java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 opening the Port: /dev/tty.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent and java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 opening the Port: /dev/cu.USA19QW3b1P1.1 Devel Library ========================================= Native lib Version = RXTX-2.1-7pre17 Java lib Version = RXTX-2.1-7pre17 open Ports RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 Get Streams Baud is 9600 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 19200 Bits is 8 Stop is 1 Par is 0 Set Params Baud is 9600 Bits is 7 Stop is 2 Par is 1 Sending 0x01 0x01 Sent no exception no bus error nothing :-( On Nov 6, 2003, at 1:14 PM, Erik Persson wrote: > Dmitry, > > I am embarrassed to say that I cannot reproduce the linker problem > with a fresh version of: > ftp://jarvi.dsl.frii.com/pub/rxtx-2.1-7pre16.tar.gz > I guess I was not as methodical as I had thought. Sorry. > > Just for reference, the error I 'fixed' with "-dynamiclib" for 2.1-6 > was: > "-single_module or -multi_module flags can only be used when -dylib is > also specified" > > After unpacking rxtx-2.1-7pre16/MACOSX_IDE/PB/LibSerial.pbproj.sit.hqx > there was one small problem, which is that "RXTXcomm" target does not > have Zystem.java or UnSupportedLoggerException.java, so I added those > from the src directory. Clearly not a big deal. > > Sadly I still get the bus error with the "-bundle" version of > 2.1-7pre16. I verified that I am using the jnilib and jar files that > I just built above. > > Unless someone can point out some existing test code for rxtx (or any > other test which should be run), I will try to simplify the code > required to reproduce the "Bus error." > > Thanks, > Erik > > >> Message: 2 >> Date: Thu, 6 Nov 2003 11:37:15 -0500 >> From: Dmitry Markman >> Subject: Re: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" >> To: Java RXTX discussion >> Message-ID: <7A928A2E-1077-11D8-99CF-000A95DA5E9C at mac.com> >> Content-Type: text/plain; charset=US-ASCII; format=flowed >> >> Hmm, >> I didn't change even a byte in PB project from 2.1.7 package >> I opened it with XCode 1.0.1 and it built everything out of the box >> why did you add -dynamiclib flag? >> >> librxtxSerial.jnilib is building as Mach-O bundle >> >> I don't think it will change anything but still >> >> unfortunately I don't have any hardware right now >> >> so I can't check it >> > ... > >> Dmitry Markman >> >> >> ------------------------------ >> >> _______________________________________________ >> Rxtx mailing list >> Rxtx at linuxgrrls.org >> http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx >> >> >> End of Rxtx Digest, Vol 8, Issue 2 >> ********************************** >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From edpersson at qwest.net Thu Nov 6 13:08:10 2003 From: edpersson at qwest.net (Erik Persson) Date: Thu, 6 Nov 2003 13:08:10 -0700 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: <20031106191650.C27D873601@mail.linuxgrrls.org> References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: Dmitry, It looks like I am wasting peoples time on the rxtx list. I just had another java app (jEdit, with no serial port code at all) crash with a very similar stack trace. Though I might continue to see if I can come up with a more specific way to reproduce the crash, I am currently thinking that this is a 10.3/java problem and not an rxtx problem. Thanks for your help. I will post to this list if I figure anything out. Misc comments regarding your last post, made before I observed the very similar crash in another java app: As I mentioned in my first email, I had (and have) no problems running contrib/Test. The test runs fine (with the changes you describe) on both /dev/tty.modem and /dev/tty.USA19QW812P1.1. I do have the latest Keyspan drivers installed. I did not see the problem until using a package from Dallas Semiconductor for their iButton products. Using their package I see the bus error regardless of which serial port is being accessed. -Erik > I tried 2.1.7 package with our application > and it worked for about 3-4 min without problem > after that I just quit > and I saw that lock file was deleted properly > > I'm working with 10.3 jdk 1.4.1 > > but maybe you have other hardware > > our use communication with communication with low rate > > > I tested contrib/Test.java as well > > only change I did: > > I put TxPort.initialize(); > after creating TxPort > otherwise I got nullPointer exception (osName wasn't defined) > > and I put System.exit(0) at very end (otherwise JVM didn't quit) > > after that I tried with 2 available ports: > > > java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 > opening the Port: /dev/tty.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.012 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > and > > > java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 > opening the Port: /dev/cu.USA19QW3b1P1.1 > Devel Library > ========================================= > Native lib Version = RXTX-2.1-7pre17 > Java lib Version = RXTX-2.1-7pre17 > open Ports > RXTX Warning: Removing stale lock file. /var/spool/uucp/LK.001.008.013 > Get Streams > Baud is 9600 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 19200 > Bits is 8 > Stop is 1 > Par is 0 > Set Params > Baud is 9600 > Bits is 7 > Stop is 2 > Par is 1 > Sending 0x01 > 0x01 Sent > > > no exception no bus error > > nothing :-( > > From dmarkman at mac.com Thu Nov 6 14:11:50 2003 From: dmarkman at mac.com (Dmitry Markman) Date: Thu, 6 Nov 2003 16:11:50 -0500 Subject: [Rxtx] Re: Rxtx Digest, Vol 8, Issue 3 In-Reply-To: References: <20031106191650.C27D873601@mail.linuxgrrls.org> Message-ID: BTW can you send me output of java -version command you can do that off-list if you like On Nov 6, 2003, at 3:08 PM, Erik Persson wrote: > Dmitry, > > It looks like I am wasting peoples time on the rxtx list. I just had > another java app (jEdit, with no serial port code at all) crash with a > very similar stack trace. Though I might continue to see if I can > come up with a more specific way to reproduce the crash, I am > currently thinking that this is a 10.3/java problem and not an rxtx > problem. > > Thanks for your help. I will post to this list if I figure anything > out. > > Misc comments regarding your last post, made before I observed the > very similar crash in another java app: > As I mentioned in my first email, I had (and have) no problems running > contrib/Test. > > The test runs fine (with the changes you describe) on both > /dev/tty.modem and /dev/tty.USA19QW812P1.1. > I do have the latest Keyspan drivers installed. > > I did not see the problem until using a package from Dallas > Semiconductor for their iButton products. Using their package I see > the bus error regardless of which serial port is being accessed. > > -Erik > >> I tried 2.1.7 package with our application >> and it worked for about 3-4 min without problem >> after that I just quit >> and I saw that lock file was deleted properly >> >> I'm working with 10.3 jdk 1.4.1 >> >> but maybe you have other hardware >> >> our use communication with communication with low rate >> >> >> I tested contrib/Test.java as well >> >> only change I did: >> >> I put TxPort.initialize(); >> after creating TxPort >> otherwise I got nullPointer exception (osName wasn't defined) >> >> and I put System.exit(0) at very end (otherwise JVM didn't quit) >> >> after that I tried with 2 available ports: >> >> >> java -jar ContribTest.jar /dev/tty.USA19QW3b1P1.1 >> opening the Port: /dev/tty.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.012 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> and >> >> >> java -jar ContribTest.jar /dev/cu.USA19QW3b1P1.1 >> opening the Port: /dev/cu.USA19QW3b1P1.1 >> Devel Library >> ========================================= >> Native lib Version = RXTX-2.1-7pre17 >> Java lib Version = RXTX-2.1-7pre17 >> open Ports >> RXTX Warning: Removing stale lock file. >> /var/spool/uucp/LK.001.008.013 >> Get Streams >> Baud is 9600 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 19200 >> Bits is 8 >> Stop is 1 >> Par is 0 >> Set Params >> Baud is 9600 >> Bits is 7 >> Stop is 2 >> Par is 1 >> Sending 0x01 >> 0x01 Sent >> >> >> no exception no bus error >> >> nothing :-( >> >> > > _______________________________________________ > Rxtx mailing list > Rxtx at linuxgrrls.org > http://mailman.linuxgrrls.org:8080/mailman/listinfo/rxtx > > Dmitry Markman From david.garnier at trusted-logic.fr Fri Nov 7 08:07:23 2003 From: david.garnier at trusted-logic.fr (David Garnier) Date: Fri, 07 Nov 2003 16:07:23 +0100 Subject: [Rxtx] Still trying to run Rxtx under Windows Message-ID: <5.2.0.9.0.20031107151826.02b505c8@mail.trusted-logic.fr> Hello, I finally managed to compile the rxtx dll under Windows, but it doesn't work. I can load it in the JVM, open the port and talk to it, but I'm not getting anything back. I'm using this short snippet to open the port: public static void main(String[] args) throws IOException { CommPortIdentifier portId = null; try { portId = CommPortIdentifier.getPortIdentifier("COM1"); SerialPort serialPort = (SerialPort) portId.open("Trusted Logic libcad", 2000); // serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN); OutputStream os = serialPort.getOutputStream(); os.write(1); os.flush(); InputStream is = serialPort.getInputStream(); int val =is.read(); System.out.println("Read:" + val); } catch (PortInUseException e) { throw new CADException("Port COM1 is already used."); } catch (NoSuchPortException e) { e.printStackTrace(); } } In order to see what's going on, I have attached a monitor to the serial port. The log files for Javax.Comm and RXTX are attached. It seems to me that RXTX does not actually tries to read data, but I don't know if this is really the problem. Best Regards, David Garnier -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS IRP_MJ_CREATE Serial2 SUCCESS Options: Open IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 2048 OutSize: 1024 IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:0 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:0 XOFF:0 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:0 XoffLimit:0 IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IRP_MJ_FLUSH_BUFFERS Serial2 SUCCESS IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: TXEMPTY IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 0: IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS # Numerous GET_MODEMSTATUS and GET_COMMSTATUS calls...*/ IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS -------------- next part -------------- IRP_MJ_CREATE Serial2 SUCCESS Options: Open NoBuffer IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0 IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR ERR IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_GET_MODEMSTATUS Serial2 SUCCESS IOCTL_SERIAL_CONFIG_SIZE Serial2 SUCCESS Size: 0 IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_GET_PROPERTIES Serial2 SUCCESS IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600 IOCTL_SERIAL_SET_RTS Serial2 SUCCESS IOCTL_SERIAL_SET_DTR Serial2 SUCCESS IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:4 ERR:0 BRK:0 EVT:a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:16 XoffLimit:1024 IRP_MJ_WRITE Serial2 SUCCESS Length 1: . IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS IRP_MJ_READ Serial2 SUCCESS Length 1: . IRP_MJ_CLEANUP Serial2 SUCCESS IRP_MJ_CLOSE Serial2 SUCCESS From edpersson at qwest.net Fri Nov 7 14:54:56 2003 From: edpersson at qwest.net (Erik Persson) Date: Fri, 7 Nov 2003 14:54:56 -0700 Subject: [Rxtx] More on rxtx-2.1-6 & -7, OS X 10.3 (Panther), "Bus Error" Message-ID: <0646984F-116D-11D8-9AD2-003065BF1AB2@qwest.net> Hi All, After looking into it off list with Dmitry, I have some more details regarding the problem I described earlier. After looking into it, I am not sure if it is an OS X specific problem or not. The attached file is a fairly simple demonstration that I built up starting with contrib/Test.java. I am using 2.1-7pre16. I still don't have a cause identified, but the problem seems related to SerialPortEventListener. In particular, registering with notifyOnOutputEmpty. The attached file is not cleaned up, but the crash should stop when commenting out line 76 where notifyOnOutputEmpty is invoked. After registering for notifyOnOutputEmpty, a call to flush on the output stream is enough to cause the problem. When I enable debugging in RXTXPort, the problem is no longer fatal, but ends up looping forever. Here we are entering the drain code: nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling Then the following three lines repeat forever: entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Occasionally I see: drain_loop: writing not set drain_loop: looping Right now I am trying to get gdb to provide more insight into what is going on in the jni layer, but I haven't made much progress. Reading through SerialImp.c and looking at the output seems to indicate that we are getting stuck in the RXTXPort.eventLoop native code. This code loops forever, waiting to break. Part of the event handling code in this loop calls port_has_changed_fionread. It I am reading that function correctly, the true or false return value is based on the last parameter passed to ioctl. From the log output above we can see that this value is always 0 (false), so we never call send_event in eventLoop. So we go forever. Assuming that my analysis is correct (always a dangerous assumption ;-) ), does anyone have any insight into port_has_changed_fionread? and the associated ioctl call? I am happy to run tests if anyone has suggestions. Thanks, Erik -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestCrash.java Url: http://mailman.qbang.org/pipermail/rxtx/attachments/20031107/d1e35b67/TestCrash-0046.pl -------------- next part -------------- From p_narayanamurthy at yahoo.com Fri Nov 7 23:38:51 2003 From: p_narayanamurthy at yahoo.com (pedapudi narayana murthy) Date: Fri, 7 Nov 2003 22:38:51 -0800 (PST) Subject: [Rxtx] MAC Related Issue Message-ID: <20031108063851.27480.qmail@web40912.mail.yahoo.com> HI, Can U Please Let Me know this MAC Related Issues... 1) Can U Please suggest MAC compatiable database like Microsoft access in windows.Please don't suggest MySQL as we are developing a stand alone application in java on MAC(Database at free of cost). 2)Can u suggest Installation shield for MAC standalone(as Insttallation Sheid for windows)(Installation Shiled at free of cost). Thanks and Regards Narayana __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree From taj at linuxgrrls.org Sun Nov 9 10:07:05 2003 From: taj at linuxgrrls.org (Trent Jarvi) Date: Sun, 9 Nov 2003 17:07:05 +0000 (GMT) Subject: [Rxtx] filtered email comming Message-ID: I've been gone for a week and have not had time to look at the filtered email. The next couple of emails are slow getting to the list and it was my fault. From edpersson at yahoo.com Wed Nov 5 13:20:53 2003 From: edpersson at yahoo.com (Erik Persson) Date: Wed, 5 Nov 2003 12:20:53 -0800 (PST) Subject: [Rxtx] rxtx-2.1.6, OS X 10.3 (Panther), "Bus Error" Message-ID: <20031105202053.18309.qmail@web40907.mail.yahoo.com> Greetings, I have downloaded, compiled and installed both rxtx-2.1-6 and rxtx-2.1-7pre17 under Mac OSX 10.3. In both cases I used the pbproject with XCode. The only change I had to make was the addition of a Mach-O Linker flag of "-dynamiclib". After doing some very simple verifications using contrib/Test.java, I compiled and tried to use the Dallas Semicondutor iButton software which uses rxtx. After a quick change to the imports (gnu.io) and a few changes for JDK1.4 support, I thought I was ready to go. A quick "Bus error" indicated that all was not well. After digging around a bit, I have found the following, perhaps meaningful error information. If there is an rxtx test suite that I should run or any other debugging that would help, I am happy to do so. It may well be that this bug is in Panther and not RXTX, but I figured I would start here since I suspect that Apple developers are a bit busy at the moment! ;-) My apologies in advance if this post is off-topic, does not provide enough detail, should have waited for me to do more debugging, or is just too boring for this list. The java code in question is trying to flush on a SerialPort's output stream when the kernel exception occurs. With DEBUG and DEBUG_VERBOSE defined for the RXTX jnilibs I get the following output (the first line coming from the dalsemi java code): DEBUG: USerialAdapter-flush W(c1)writeByte ?>> writeByte: index->writing = 1RXTXPort:writeByte 1 nativeDrain: trying tcdrain RXTXPort:drain() returns: 0 send_event: !eventloop_interupted send_event: jclazz send_event: calling entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 drain_loop: writing not set drain_loop: looping entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 entering check_tiocmget_changes leaving check_tiocmget_changes port_has_changed_fionread: change is 0 Bus error The debug information from OSX is: Date/Time: 2003-11-05 13:12:50 -0700 OS Version: 10.3 (Build 7B85) Command: java (/usr/bin/java) PID: 5232 Thread: 1 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x90191930 in __CFRunLoopRun (__CFRunLoopRun + 848) #3 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #4 0x927d5ecc in RunCurrentEventLoopInMode (RunCurrentEventLoopInMode + 172) #5 0x927dc640 in ReceiveNextEventCommon (ReceiveNextEventCommon + 380) #6 0x927fe6d0 in BlockUntilNextEventMatchingListInMode (BlockUntilNextEventMatchingListInMode + 96) #7 0x92dd2a80 in _DPSNextEvent (_DPSNextEvent + 384) #8 0x92de93fc in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116) #9 0x92dfd730 in -[NSApplication run] (-[NSApplication run] + 540) #10 0x817db7c4 in -[StartupUtility run] (-[StartupUtility run] + 272) #11 0x90a1ad24 in __NSFireMainThreadPerform (__NSFireMainThreadPerform + 264) #12 0x901e4820 in __CFRunLoopPerformPerform (__CFRunLoopPerformPerform + 136) #13 0x90193ed8 in __CFRunLoopDoSources0 (__CFRunLoopDoSources0 + 508) #14 0x90191790 in __CFRunLoopRun (__CFRunLoopRun + 432) #15 0x901960bc in CFRunLoopRunSpecific (CFRunLoopRunSpecific + 328) #16 0x000061d8 in 0x61d8 #17 0x00003c88 in 0x3c88 #18 0x00003afc in 0x3afc Thread 1 Crashed: #0 0x947bdd4c in JVM_ReleaseUTF (JVM_ReleaseUTF + 892) #1 0x947c310c in JVM_GetCPFieldClassNameUTF (JVM_GetCPFieldClassNameUTF + 15932) #2 0x947c6f70 in JVM_GetMethodIxLocalsCount (JVM_GetMethodIxLocalsCount + 10736) #3 0x947fd8e0 in JVM_SocketAvailable (JVM_SocketAvailable + 4544) #4 0x947d5654 in JVM_FillInStackTrace (JVM_FillInStackTrace + 4356) #5 0x947abb80 in JVM_MonitorNotify (JVM_MonitorNotify + 1984) #6 0x03da6568 in 0x3da6568 #7 0x03d9516c in 0x3d9516c #8 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #9 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #10 0x948d2cf0 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72080) #11 0x9498e858 in jio_vsnprintf (jio_vsnprintf + 1176) #12 0x0895d0f8 in send_event (send_event + 204) #13 0x08959e98 in Java_gnu_io_RXTXPort_nativeDrain (Java_gnu_io_RXTXPort_nativeDrain + 300) #14 0x03d9e580 in 0x3d9e580 #15 0x03d97e30 in 0x3d97e30 #16 0x03d97fb0 in 0x3d97fb0 #17 0x03d97e30 in 0x3d97e30 #18 0x03d97fb0 in 0x3d97fb0 #19 0x03d97e30 in 0x3d97e30 #20 0x03d98190 in 0x3d98190 #21 0x03d97ec0 in 0x3d97ec0 #22 0x03d97fb0 in 0x3d97fb0 #23 0x03d9516c in 0x3d9516c #24 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #25 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #26 0x948d06fc in JVM_UnloadLibrary (JVM_UnloadLibrary + 62364) #27 0x9499e79c in jio_vsnprintf (jio_vsnprintf + 66524) #28 0x00004614 in 0x4614 #29 0x000060c4 in 0x60c4 #30 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 2: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x9487f80c in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17580) #3 0x9487f7a0 in JNI_CreateJavaVM_Impl (JNI_CreateJavaVM_Impl + 17472) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 3: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947da944 in __divdi3 (__divdi3 + 20612) #4 0x947f0480 in JVM_GetMethodIxModifiers (JVM_GetMethodIxModifiers + 1264) #5 0x94897b8c in JVM_GetInterfaceVersion (JVM_GetInterfaceVersion + 97052) #6 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #7 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 4: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9516c in 0x3d9516c #10 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #11 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #12 0x94818868 in JVM_Close (JVM_Close + 1208) #13 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #14 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #15 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #16 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #17 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 5: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97ec0 in 0x3d97ec0 #9 0x03d97ec0 in 0x3d97ec0 #10 0x03d9516c in 0x3d9516c #11 0x947ba0f8 in JVM_GetCPMethodClassNameUTF (JVM_GetCPMethodClassNameUTF + 2856) #12 0x947dbce8 in JVM_GetCPClassNameUTF (JVM_GetCPClassNameUTF + 2456) #13 0x94818868 in JVM_Close (JVM_Close + 1208) #14 0x94829120 in JVM_Interrupt (JVM_Interrupt + 736) #15 0x948cdeac in JVM_UnloadLibrary (JVM_UnloadLibrary + 52044) #16 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #17 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #18 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 6: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7688 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4584) #3 0x947b7130 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6160) #4 0x947b72d0 in JVM_GetCPMethodSignatureUTF (JVM_GetCPMethodSignatureUTF + 6576) #5 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #6 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 7: #0 0x90014628 in semaphore_wait_trap (semaphore_wait_trap + 8) #1 0x948d2e80 in JVM_UnloadLibrary (JVM_UnloadLibrary + 72480) #2 0x948d2044 in JVM_UnloadLibrary (JVM_UnloadLibrary + 68836) #3 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #4 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #5 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 8: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947da9a4 in __divdi3 (__divdi3 + 20708) #4 0x94811ce0 in JVM_GetFieldIxModifiers (JVM_GetFieldIxModifiers + 2912) #5 0x947fda2c in JVM_SocketAvailable (JVM_SocketAvailable + 4876) #6 0x948145d4 in JVM_FindClassFromClass (JVM_FindClassFromClass + 3092) #7 0x9496f9cc in JVM_UnloadLibrary (JVM_UnloadLibrary + 714348) #8 0x900247e8 in _pthread_body (_pthread_body + 40) Thread 9: #0 0x900075c8 in mach_msg_trap (mach_msg_trap + 8) #1 0x90007118 in mach_msg (mach_msg + 56) #2 0x947a7608 in JVM_GetClassAccessFlags (JVM_GetClassAccessFlags + 4456) #3 0x947a2034 in _mh_dylib_header (_mh_dylib_header + 8244) #4 0x947ab3a4 in __cmpdi2 (__cmpdi2 + 6820) #5 0x947a7ae8 in JVM_MonitorWait (JVM_MonitorWait + 264) #6 0x03d9e580 in 0x3d9e580 #7 0x03d97fb0 in 0x3d97fb0 #8 0x03d97fb0 in 0x3d97fb0 #9 0x03d9831