You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Tristan (Jira)" <ji...@apache.org> on 2019/11/06 15:21:00 UTC

[jira] [Created] (KAFKA-9153) Kafka brokers randomly crash (SIGSEGV due to kafka errors)

Tristan created KAFKA-9153:
------------------------------

             Summary: Kafka brokers randomly crash (SIGSEGV due to kafka errors)
                 Key: KAFKA-9153
                 URL: https://issues.apache.org/jira/browse/KAFKA-9153
             Project: Kafka
          Issue Type: Bug
            Reporter: Tristan


We upgraded our kafka brokers on many clusters to 2.1.1 a few month ago and did not encountered any issues until a few weeks ago.

Now we have kafka service stopping with errors time to time, and we couldn't establish correlation with any particular events, messages, or cluster operations.

Here is the encountered errors :

kafka logs : 
{code:java}
[2019-11-06 11:19:36,177] ERROR [KafkaApi-5] Error while responding to offset request (kafka.server.KafkaApis)scala.MatchError: null    at kafka.cluster.Partition.$anonfun$fetchOffsetForTimestamp$1(Partition.scala:813)    at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:251)    at kafka.utils.CoreUtils$.inReadLock(CoreUtils.scala:257)    at kafka.cluster.Partition.fetchOffsetForTimestamp(Partition.scala:809)    at kafka.server.ReplicaManager.fetchOffsetForTimestamp(ReplicaManager.scala:784)    at kafka.server.KafkaApis.$anonfun$handleListOffsetRequestV1AndAbove$3(KafkaApis.scala:833)    at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233)    at scala.collection.Iterator.foreach(Iterator.scala:937)    at scala.collection.Iterator.foreach$(Iterator.scala:937)    at scala.collection.AbstractIterator.foreach(Iterator.scala:1425)    at scala.collection.IterableLike.foreach(IterableLike.scala:70)    at scala.collection.IterableLike.foreach$(IterableLike.scala:69)    at scala.collection.AbstractIterable.foreach(Iterable.scala:54)    at scala.collection.TraversableLike.map(TraversableLike.scala:233)    at scala.collection.TraversableLike.map$(TraversableLike.scala:226)    at scala.collection.AbstractTraversable.map(Traversable.scala:104)    at kafka.server.KafkaApis.handleListOffsetRequestV1AndAbove(KafkaApis.scala:813)    at kafka.server.KafkaApis.handleListOffsetRequest(KafkaApis.scala:753)    at kafka.server.KafkaApis.handle(KafkaApis.scala:108)    at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69)    at java.lang.Thread.run(Thread.java:745)[2019-11-06 11:19:36,178] ERROR [KafkaApi-5] Error while responding to offset request (kafka.server.KafkaApis)scala.MatchError: null    at kafka.cluster.Partition.$anonfun$fetchOffsetForTimestamp$1(Partition.scala:813)    at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:251)    at kafka.utils.CoreUtils$.inReadLock(CoreUtils.scala:257)    at kafka.cluster.Partition.fetchOffsetForTimestamp(Partition.scala:809)    at kafka.server.ReplicaManager.fetchOffsetForTimestamp(ReplicaManager.scala:784)    at kafka.server.KafkaApis.$anonfun$handleListOffsetRequestV1AndAbove$3(KafkaApis.scala:833)    at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233)    at scala.collection.Iterator.foreach(Iterator.scala:937)    at scala.collection.Iterator.foreach$(Iterator.scala:937)    at scala.collection.AbstractIterator.foreach(Iterator.scala:1425)    at scala.collection.IterableLike.foreach(IterableLike.scala:70)    at scala.collection.IterableLike.foreach$(IterableLike.scala:69)    at scala.collection.AbstractIterable.foreach(Iterable.scala:54)    at scala.collection.TraversableLike.map(TraversableLike.scala:233)    at scala.collection.TraversableLike.map$(TraversableLike.scala:226)    at scala.collection.AbstractTraversable.map(Traversable.scala:104)    at kafka.server.KafkaApis.handleListOffsetRequestV1AndAbove(KafkaApis.scala:813)    at kafka.server.KafkaApis.handleListOffsetRequest(KafkaApis.scala:753)    at kafka.server.KafkaApis.handle(KafkaApis.scala:108)    at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69)    at java.lang.Thread.run(Thread.java:745)[2019-11-06 11:19:36,302] ERROR [KafkaApi-5] Error while responding to offset request (kafka.server.KafkaApis)scala.MatchError: null{code}
with 106 consecutive occurences of this stacktrace.

and this error showing with journalctl -u kafka, just after latest stacktrace in kafka.log :
{code:java}
Oct 15 14:34:32 kafka-5 systemd[1]: Started kafka daemon. Nov 06 11:19:50 kafka-5 bash[15874]: # Nov 06 11:19:50 kafka-5 bash[15874]: # A fatal error has been detected by the Java Runtime Environment: Nov 06 11:19:50 kafka-5 bash[15874]: # Nov 06 11:19:50 kafka-5 bash[15874]: # SIGSEGV (0xb) at pc=0x00007f88f31b8df0, pid=15874, tid=140216143816448 Nov 06 11:19:50 kafka-5 bash[15874]: # Nov 06 11:19:50 kafka-5 bash[15874]: # JRE version: Java(TM) SE Runtime Environment (8.0_91-b14) (build 1.8.0_91-b14) Nov 06 11:19:50 kafka-5 bash[15874]: # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.91-b14 mixed mode linux-amd64 compressed oops) Nov 06 11:19:50 kafka-5 bash[15874]: # Problematic frame: Nov 06 11:19:50 kafka-5 bash[15874]: # J 14984 C2 kafka.cluster.Partition.$anonfun$fetchOffsetForTimestamp$1(Lkafka/cluster/Partition;JLscala/Option;Ljava/util/Optional;Z)Lkafka/log/TimestampOffset; (240 bytes) Nov 06 11:19:50 kafka-5 bash[15874]: # Nov 06 11:19:50 kafka-5 bash[15874]: # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again Nov 06 11:19:50 kafka-5 bash[15874]: # Nov 06 11:19:50 kafka-5 bash[15874]: # An error report file with more information is saved as: Nov 06 11:19:50 kafka-5 bash[15874]: # /tmp/hs_err_pid15874.log Nov 06 11:19:50 kafka-5 bash[15874]: #
{code}
hs_err_pid15874.log header : 
{code:java}
## A fatal error has been detected by the Java Runtime Environment:##  SIGSEGV (0xb) at pc=0x00007f88f31b8df0, pid=15874, tid=140216143816448## JRE version: Java(TM) SE Runtime Environment (8.0_91-b14) (build 1.8.0_91-b14)# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.91-b14 mixed mode linux-amd64 compressed oops)# Problematic frame:# J 14984 C2 kafka.cluster.Partition.$anonfun$fetchOffsetForTimestamp$1(Lkafka/cluster/Partition;JLscala/Option;Ljava/util/Optional;Z)Lkafka/log/TimestampOffset; (240 bytes) @ 0x00007f88f31b8df0 [0x00007f88f31b8d80+0x70]## Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again## If you would like to submit a bug report, please visit:#   http://bugreport.java.com/bugreport/crash.jsp#
{code}
Except these errors, which require a broker restart when it happens,  our clusters are operating normally.

I came across old Issues that seem now resolved since version 0.10.1.1 (https://issues.apache.org/jira/browse/KAFKA-4205) but didn't find useful leads there

I probably need to specify that we use kafka cruise control on our clusters to manage partition rebalancing, but as specified before, this issue does not necessarily occurs when a rebalancing operation is ongoing. It can happen at any time.

Thanks

 

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)