geoffsmith82 / delphijniwrapper Goto Github PK
View Code? Open in Web Editor NEWAllows Delphi and Java to call each other
License: Other
Allows Delphi and Java to call each other
License: Other
Stack trace shown below
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000067cf1a67, pid=6936, tid=26196
#
# JRE version: Java(TM) SE Runtime Environment (8.0_60-b27) (build 1.8.0_60-b27)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V [jvm.dll+0x211a67]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x00000168bcb2d800): JavaThread "main" [_thread_in_Java, id=26196, stack(0x0000004034220000,0x0000004034320000)]
siginfo: ExceptionCode=0xc0000005, reading address 0xffffffffffffffff
Registers:
RAX=0xbcfc209800000168, RBX=0x00000168df1b05d0, RCX=0x000000403431f730, RDX=0x0000000000000003
RSP=0x000000403431f478, RBP=0x000000403431f580, RSI=0x00000168bcb2d800, RDI=0x00000000ffffffff
R8 =0x0000000000000003, R9 =0x000000403431f738, R10=0x00000168bd0c0837, R11=0x0000000000000005
R12=0x00000168bcb27d90, R13=0x00000168bcb2d800, R14=0x000000403431f580, R15=0x00000168df1b05d0
RIP=0x0000000067cf1a67, EFLAGS=0x0000000000010282
Top of Stack: (sp=0x000000403431f478)
0x000000403431f478: 0000000067cf2955 00000168df1b05d0
0x000000403431f488: 000000403431f580 0000000000000000
0x000000403431f498: 00000168bcb2d800 00000168bcb2d800
0x000000403431f4a8: 0000000067d1464a 000000403431f620
0x000000403431f4b8: 0000000000000060 00000168df1b05d0
0x000000403431f4c8: 00000168bcb2d800 00000168bd0d1ca0
0x000000403431f4d8: 0000000067d14227 0000000000000006
0x000000403431f4e8: 00007ffa197db3c7 00002ab594b0a610
0x000000403431f4f8: 0000016800000000 0000000000000000
0x000000403431f508: 00000168df1b05d0 00000168bcb2d800
0x000000403431f518: 0000000000000030 00000168df1b05d0
0x000000403431f528: 00000168bcb2d800 000000403431f848
0x000000403431f538: 000000403431f5f9 00000168bcb2d800
0x000000403431f548: 00000168bcfc2090 00000168df1b05d0
0x000000403431f558: 0000000000000000 0000000000000000
0x000000403431f568: 0000000000000000 0000000000000000
Instructions: (pc=0x0000000067cf1a67)
0x0000000067cf1a47: 68 7e 30 66 0f 1f 44 00 00 48 8b 41 60 80 3c 02
0x0000000067cf1a57: 00 74 14 4c 8b 49 58 49 8b 04 d1 48 85 c0 74 03
0x0000000067cf1a67: 48 8b 00 49 89 04 d1 41 ff c0 48 ff c2 44 3b 41
0x0000000067cf1a77: 68 7c d6 48 8b 41 58 c3 cc 40 53 48 83 ec 20 80
Register to memory mapping:
RAX=0xbcfc209800000168 is an unknown value
RBX={method} {0x00000168df1b05d8} 'test' '(IJLjava/lang/String;[J)I' in 'HelloWorld'
RCX=0x000000403431f730 is pointing into the stack for thread: 0x00000168bcb2d800
RDX=0x0000000000000003 is an unknown value
RSP=0x000000403431f478 is pointing into the stack for thread: 0x00000168bcb2d800
RBP=0x000000403431f580 is pointing into the stack for thread: 0x00000168bcb2d800
RSI=0x00000168bcb2d800 is a thread
RDI=0x00000000ffffffff is an unknown value
R8 =0x0000000000000003 is an unknown value
R9 =0x000000403431f738 is pointing into the stack for thread: 0x00000168bcb2d800
R10=0x00000168bd0c0837 is at begin+0 in a stub
StubRoutines::call_stub [0x00000168bd0c0837, 0x00000168bd0c09a1[ (362 bytes)
R11=0x0000000000000005 is an unknown value
R12=0x00000168bcb27d90 is an unknown value
R13=0x00000168bcb2d800 is a thread
R14=0x000000403431f580 is pointing into the stack for thread: 0x00000168bcb2d800
R15={method} {0x00000168df1b05d8} 'test' '(IJLjava/lang/String;[J)I' in 'HelloWorld'
Stack: [0x0000004034220000,0x0000004034320000], sp=0x000000403431f478, free space=1021k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x211a67]
It would be good to add support for Microsoft's build of the OpenJDK as found at https://www.microsoft.com/openjdk
I tried calling a simple void method returning noting (testVoid() in the example below).
Calling main works and calling testVoid() also when I compile the program as a 32-Bit executable and using JDK 8 as a 32-Bit version.
public class Test {
public static void main(String[] args) {
System.out.println("Test");
}
public static void testStaticVoid() {
System.out.println("static void");
}
public void testVoid() {
System.out.println("void");
}
public String testString() {
return "testString";
}
public String testParam(String arg1) {
return "testParam(" + arg1 + ")";
}
}
However when I switch to the 64-Bit version of the JDK 8 (and also compile the Delphi program as a 64-Bit executable as it won't be possible to load the DLL otherwise) I'm getting access violations.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.