Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hollow related segfaut #486

Open
tcataldo opened this issue Sep 14, 2020 · 0 comments
Open

Hollow related segfaut #486

tcataldo opened this issue Sep 14, 2020 · 0 comments

Comments

@tcataldo
Copy link

Hi,

we are getting JVM segfaults (and hs_err_pidXXXX.log) which are always hollow related:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fe01714b28b, pid=15121, tid=0x00007fdefdf9a700
#
# JRE version: OpenJDK Runtime Environment (8.0_265-b01) (build 1.8.0_265-b01)
# Java VM: OpenJDK 64-Bit Server VM (25.265-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J 50879 C1 com.netflix.hollow.core.write.objectmapper.HollowObjectTypeMapper$MappedField.retrieveFieldValue(Ljava/lang/Object;[II)Ljava/lang/Object; (611 bytes) @ 0x00007fe01714b28b [0x00007fe017149580+0x1d0b]
#
# Core dump written. Default location: /var/log/core or core.15121
#
# 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 (0x00007fdf24c44000):  JavaThread "vert.x-worker-thread-0" [_thread_in_Java, id=16642, stack(0x00007fdefdf5a000,0x00007fdefdf9b000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000014

Registers:
RAX=0x000000000000000c, RBX=0x0000000000000003, RCX=0x000000000000000a, RDX=0x0000000000000008
RSP=0x00007fdefdf98ea0, RBP=0x00007fdefdf99178, RSI=0x000000079f9c0860, RDI=0x0000000000002a78
R8 =0x0000000000000001, R9 =0x0000000000000028, R10=0x00000007c0a49000, R11=0x000000000000000a
R12=0x0000000000000000, R13=0x00007fdefdf99108, R14=0x00007fdefdf991a8, R15=0x00007fdf24c44000
RIP=0x00007fe01714b28b, EFLAGS=0x0000000000010206, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
  TRAPNO=0x000000000000000e

and from the hs_err too:

Stack: [0x00007fdefdf5a000,0x00007fdefdf9b000],  sp=0x00007fdefdf98ea0,  free space=251k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J 50879 C1 com.netflix.hollow.core.write.objectmapper.HollowObjectTypeMapper$MappedField.retrieveFieldValue(Ljava/lang/Object;[II)Ljava/lang/Object; (611 bytes) @ 0x00007fe01714b28b [0x00007fe017149580+0x1d0b]
J 50879 C1 com.netflix.hollow.core.write.objectmapper.HollowObjectTypeMapper$MappedField.retrieveFieldValue(Ljava/lang/Object;[II)Ljava/lang/Object; (611 bytes) @ 0x00007fe01714cfdc [0x00007fe017149580+0x3a5c]
J 50878 C1 com.netflix.hollow.core.write.objectmapper.HollowObjectTypeMapper.retrieveFieldValue(Ljava/lang/Object;[II)Ljava/lang/Object; (22 bytes) @ 0x00007fe013e53f6c [0x00007fe013e53d20+0x24c]
j  com.netflix.hollow.core.write.objectmapper.HollowObjectTypeMapper.extractPrimaryKey(Ljava/lang/Object;)[Ljava/lang/Object;+46
j  com.netflix.hollow.core.write.objectmapper.HollowObjectMapper.extractPrimaryKey(Ljava/lang/Object;)Lcom/netflix/hollow/core/write/objectmapper/RecordPrimaryKey;+24
j  com.netflix.hollow.api.producer.CloseableIncrementalWriteState.getKey(Ljava/lang/Object;)Lcom/netflix/hollow/core/write/objectmapper/RecordPrimaryKey;+22
j  com.netflix.hollow.api.producer.CloseableIncrementalWriteState.delete(Ljava/lang/Object;)V+3
j  net.bluemind.authentication.service.tokens.TokensStore.lambda$4(Ljava/util/Collection;Lcom/netflix/hollow/api/producer/HollowProducer$Incremental$IncrementalWriteState;)V+22
j  net.bluemind.authentication.service.tokens.TokensStore$$Lambda$3021.populate(Lcom/netflix/hollow/api/producer/HollowProducer$Incremental$IncrementalWriteState;)V+5
j  com.netflix.hollow.api.producer.AbstractHollowProducer.incrementalPopulate(Lcom/netflix/hollow/api/producer/ProducerListenerSupport$ProducerListeners;Lcom/netflix/hollow/api/producer/HollowProducer$Incremental$IncrementalPopulator;J)Lcom/netflix/hollow/api/producer/HollowProducer$Populator;+37
j  com.netflix.hollow.api.producer.AbstractHollowProducer.populate(Lcom/netflix/hollow/api/producer/ProducerListenerSupport$ProducerListeners;Lcom/netflix/hollow/api/producer/HollowProducer$Incremental$IncrementalPopulator;Lcom/netflix/hollow/api/producer/HollowProducer$Populator;J)V+53
j  com.netflix.hollow.api.producer.AbstractHollowProducer.runCycle(Lcom/netflix/hollow/api/producer/ProducerListenerSupport$ProducerListeners;Lcom/netflix/hollow/api/producer/HollowProducer$Incremental$IncrementalPopulator;Lcom/netflix/hollow/api/producer/HollowProducer$Populator;Lcom/netflix/hollow/api/producer/Status$StageWithStateBuilder;J)J+26

Our object model is pretty simple:

@HollowPrimaryKey(fields = { "key" })
public class Token {

	public String key;

	public String subjectUid;

	public String subjectDomain;

	public long expiresTimestamp;

	public Token(String key, String subject, String subjectDomain) {
		this.key = key;
		this.subjectUid = subject;
		this.subjectDomain = subjectDomain;
		expiresTimestamp = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(7);
	}

	public void renew() {
		expiresTimestamp = expiresTimestamp + TimeUnit.DAYS.toMillis(7);
	}
}

Any hint at what we should look at or if we are hitting an hollow bug ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant