Skip to content

SIGSEGV on program exit when RD_KAFKA_RESP_ERR__REVOKE_PARTITIONS #265

Closed
@ghost

Description

Description

I have an app that throws an exception following a consumer.poll before commit. In turn my python program ends with SIGSEGV and a core dump. Here's the output from gdb:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  CallState_get (h=h@entry=0x7f0578bd3978) at confluent_kafka/src/confluent_kafka.c:1390

warning: Source file is more recent than executable.
1390		PyEval_RestoreThread(cs->thread_state);
(gdb) bt
#0  CallState_get (h=h@entry=0x7f0578bd3978) at confluent_kafka/src/confluent_kafka.c:1390
#1  0x00007f0579f88241 in Consumer_rebalance_cb (rk=0x27880d0, err=RD_KAFKA_RESP_ERR__REVOKE_PARTITIONS, c_parts=0x7f0544002730, opaque=0x7f0578bd3978) at confluent_kafka/src/Consumer.c:656
#2  0x00007f0579cb8774 in rd_kafka_poll_cb (rk=0x27880d0, rkq=0x260b650, rko=0x7f0544002780, cb_type=2184411728, cb_type@entry=1140860800, opaque=opaque@entry=0x0) at rdkafka.c:2530
#3  0x00007f0579cb97f8 in rd_kafka_consumer_close (rk=0x27880d0) at rdkafka.c:2088
#4  0x00007f0579cb98f4 in rd_kafka_destroy_app (blocking=<optimized out>, rk=<optimized out>) at rdkafka.c:669
#5  rd_kafka_destroy (rk=0x27880d0) at rdkafka.c:712
#6  0x00007f0579f8919a in Consumer_dealloc (self=0x7f0578bd3978) at confluent_kafka/src/Consumer.c:65
#7  0x00007f0581ca2b47 in dict_dealloc (mp=0x7f0578bf3120) at Objects/dictobject.c:2014
#8  0x00007f0581cc9701 in subtype_dealloc (self=0x7f0578bf11d0) at Objects/typeobject.c:1207
#9  0x00007f0581c8cfc2 in frame_tp_clear (f=0x2779a08) at Objects/frameobject.c:509
#10 0x00007f0581d9f912 in delete_garbage (old=<optimized out>, collectable=<optimized out>) at Modules/gcmodule.c:867
#11 collect (generation=generation@entry=2, n_collected=n_collected@entry=0x7ffc85866530, n_uncollectable=n_uncollectable@entry=0x7ffc85866538, nofail=nofail@entry=0) at Modules/gcmodule.c:1019
#12 0x00007f0581da0559 in collect_with_callback (generation=2) at Modules/gcmodule.c:1128
#13 PyGC_Collect () at Modules/gcmodule.c:1592
#14 0x00007f0581d7d343 in Py_FinalizeEx () at Python/pylifecycle.c:603
#15 0x00007f0581d9e33a in Py_Main (argc=argc@entry=3, argv=argv@entry=0x21b1010) at Modules/main.c:829
#16 0x0000000000400ae1 in main (argc=3, argv=<optimized out>) at ./Programs/python.c:69

How to reproduce

https://gist.github.com/sbv-siteimprove/90965a8b16e9f542f3fe3aa0f01355e0

Checklist

Please provide the following information:

  • confluent-kafka-python and librdkafka version (confluent_kafka.version() and confluent_kafka.libversion()):
>>> import confluent_kafka
>>> confluent_kafka.version()
('0.11.0', 720896)
>>> confluent_kafka.libversion()
('0.11.0', 721151)
  • Apache Kafka broker version:
    wurstmeister/kafka:0.11.0.1 docker image
  • Client configuration: {...}
{                               
            'bootstrap.servers': brokers,                                         
            'group.id': 'somethinghere'                    
             'api.version.request': True,                                          
            'socket.keepalive.enable': True,                                      
             'metadata.request.timeout.ms': 3000,                                  
             'topic.metadata.refresh.interval.ms': 3000,                           
             'socket.timeout.ms': 3000,                                            
             'enable.auto.commit': False,                                          
             'auto.commit.interval.ms': 0,                                         
             'enable.auto.offset.store': True,                                     
             'default.topic.config': {                                             
                 'auto.offset.reset': 'earliest'                                   
             },                                                                    
             'message.max.bytes': _MAX_MESSAGE_BYTES
 }
  • Operating system:
    debian jessie

  • Provide client logs (with 'debug': '..' as necessary)
    I'm not sure how to

  • Provide broker log excerpts
    [2017-10-16 14:44:13,870] INFO [GroupCoordinator 1001]: Member rdkafka-bcb360c4-e259-4b8b-9329-1d589e626d7a in group somethinghere has failed, removing it from the group (kafka.coordinator.group.GroupCoordinator)
    [2017-10-16 14:44:13,870] INFO [GroupCoordinator 1001]: Preparing to rebalance group somethinghere with old generation 1 (__consumer_offsets-42) (kafka.coordinator.group.GroupCoordinator)
    [2017-10-16 14:44:13,871] INFO [GroupCoordinator 1001]: Group somethinghere with generation 2 is now empty (__consumer_offsets-42) (kafka.coordinator.group.GroupCoordinator)

  • Critical issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions