I am developing Java 8 based micro service application using Spring Boot, MongoDB, Kafka stack. Any two services interact with each other using Kafka topic using spring-cloud-starter-stream-kafka.
PROBLEM
I am getting below mentioned fatal error 'EXCEPTION_ACCESS_VIOLATION (0xc0000005)' when getter method is called on a simple POJO. One piece of code specifically in my case :-
@StreamListener(EVENT.NEW_RWA_REGISTRATION)
public void newRwaRegistrationHandler(SocietyRegistrationForm form) {
log.debug("Will create billing account for the RWA using - {}", form);
AssociationDetail association = new AssociationDetail();
GooglePlaceDetails place = form.getPlace();
// THIS place.getDescription brings the application down!!
association.setDescription(place.getDescription());
association.setPrimaryContact(getPrimaryPerson(form));
association.setId(form.getTenant());
Address address = new Address();
String placeDescription = place.getDescription();...
Interestingly, This happens only when I am running my application using Eclipse/STS or IntelliJ. If I run my application using command line - mvn spring-boor:run, it runs perfectly !
The problem replicated on another dev machine too, So doesn't look like a local issue.
Environment:-
Java 1.8.11
Spring Boot 1.4.2
Spring Cloud Camden.SR3
spring-cloud-starter-stream-kafka 1.1.0
Kafka 0.10
_#
_# A fatal error has been detected by the Java Runtime Environment:
_#
_# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000070592b53, pid=21832, tid=0x0000000000005e50
_#
_# JRE version: Java(TM) SE Runtime Environment (8.0_101-b13) (build 1.8.0_101-b13)
_# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.101-b13 mixed mode windows-amd64 compressed oops)
_# Problematic frame:
_# V [jvm.dll+0x202b53]
_#
_# 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 (0x0000000025cee000): JavaThread "-kafka-listener-1" [_thread_in_vm, id=24144, stack(0x0000000021060000,0x0000000021160000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000020
Registers:
RAX=0x0000000000000000, RBX=0x00000000ffffffff, RCX=0x0000000000001f40, RDX=0x00000000ffffffff
RSP=0x000000002115ce60, RBP=0x0000000025cee000, RSI=0x000000002115cfa0, RDI=0x000000002115cec0
R8 =0x00000007c076f1a0, R9 =0x000000002115cfa0, R10=0x0000000000000000, R11=0x0000000000000000
R12=0x0000000000000000, R13=0x00000000fffffffd, R14=0x000000002115d2c0, R15=0x000000002115d2c0
RIP=0x0000000070592b53, EFLAGS=0x0000000000010202..........
Stack: [0x0000000021fd0000,0x00000000220d0000], sp=0x00000000220cd090, free space=1012k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x2028e3]
V [jvm.dll+0x203082]
V [jvm.dll+0xbd0fc]
V [jvm.dll+0xc059e]
V [jvm.dll+0xc1934]
V [jvm.dll+0xc2de7]
V [jvm.dll+0xc375a]
V [jvm.dll+0xc3dad]
V [jvm.dll+0xbc276]
C 0x0000000002d93b9e
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.pud.accounting.event.AccountEventHandler.newRwaRegistrationHandler(Lcom/pud/security/domain/SocietyRegistrationForm;)V+26
v ~StubRoutines::call_stub
J 1522 sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x0000000003291a7f [0x0000000003291a00+0x7f]
J 1521 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x000000000329e0a4 [0x000000000329cf00+0x11a4]
J 5374 C2 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00000000039db6a8 [0x00000000039db600+0xa8]
j org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke([Ljava/lang/Object;)Ljava/lang/Object;+16
j org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(Lorg/springframework/messaging/Message;[Ljava/lang/Object;)Ljava/lang/Object;+71
j org.springframework.cloud.stream.binding.StreamListenerAnnotationBeanPostProcessor$StreamListenerMessageHandler.handleRequestMessage(Lorg/springframework/messaging/Message;)Ljava/lang/Object;+9
j org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(Lorg/springframework/messaging/Message;)V+9