Discussions
Categories
- 197K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.8K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 556 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.4K SQL Developer
- 296.3K Development
- 17 Developer Projects
- 139 Programming Languages
- 293K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 158 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 205 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 468 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
AttachCurrentThread crash JVM Windows XP, Windows 2000 Ok

854288
Member Posts: 2
I have a PCI card, that call a DLL and I subscribe a callback in that DLL, when the DLL call my code JNI, AttacCurrentThread and call to JVM.
This code run ok for Windows *2000*, but in Windows XP crash JMV in AttachCurrentThread.
The return value when I call to GetEnv is JNI_EDETACHED and the jvm information error is DuplicatedHandle.
I have been looking for pointer bugs, memory bugs, mallocs without free... but I haven't seen nothing.
The change is de the OS, is and upgrade from Windows *2000* to XP ServicePack 3.
The card driver and DLL is the same for Windows *2000* and Windows XP.
The computer is an Intel Core 2 Duo.
Someone know, if the SO do something diferent that cause the jvm crash,
someone know if the management of processors is different or the management threads...
Sorry, but my level english is low.
Thank you
This code run ok for Windows *2000*, but in Windows XP crash JMV in AttachCurrentThread.
The return value when I call to GetEnv is JNI_EDETACHED and the jvm information error is DuplicatedHandle.
I have been looking for pointer bugs, memory bugs, mallocs without free... but I haven't seen nothing.
The change is de the OS, is and upgrade from Windows *2000* to XP ServicePack 3.
The card driver and DLL is the same for Windows *2000* and Windows XP.
The computer is an Intel Core 2 Duo.
Someone know, if the SO do something diferent that cause the jvm crash,
someone know if the management of processors is different or the management threads...
Sorry, but my level english is low.
Thank you
Answers
-
Different environment guarantees a different execution path.
And that is an excellent way to expose pointer bugs that previously did not impact the application. -
Crash?????????
If there is a return value how can this be a JVM crash? A crash is where an entire exits suddenly, possibly leaving a core dump or crash file of some kind behind it. This sounds like an error return from a JNI API call. In which case you should first consult the documentation for that API.
Or maybe you got the error from one call and proceeded regardless to call another API which crashed. In which case the answer is (a) don't ignore error codes, and (b) see above. -
Yes, it is a JVM crash, I think don't explain it fine, I'm sorry.
The code call firstable to GetEnv and the return value is JNI_EDETACHED and
the next call is to AttachCurrentThread, it's in this call when the JVM crash.
I think that in all the return code, jni functions and third part api function, I'm checking the return value but I'll revise the code.
I'm going to separate the code to call only the minimal and necesary code to get the callback from the card PCI driver and test this.
I'll write the result here.
Thanks
Edited by: 851285 on 12-abr-2011 1:09
This discussion has been closed.