Skip to content

Conversation

filonenko-mikhail
Copy link

@filonenko-mikhail filonenko-mikhail commented Jan 20, 2021

Кафка падает при сборке мусора освобождая память из под сообщения

#0  0x00007f6d01923387 in raise () from /lib64/libc.so.6
#1  0x00007f6d01924a78 in abort () from /lib64/libc.so.6
#2  0x000000000056cc89 in sig_fatal_cb (signo=<optimized out>, siginfo=<optimized out>, context=<optimized out>) at /__w/sdk/sdk/tarantool-2.4/src/main.cc:301
#3  <signal handler called>
#4  0x00007f6d01972aec in free () from /lib64/libc.so.6
#5  0x00007f6cfd53a507 in destroy_consumer_msg (msg=0x7f6cb0004110) at /tmp/luarocks_kafka-1.3.0-1-PGeZjs/kafka/kafka/consumer_msg.c:152

151 if (msg->key != NULL) {
152     free(msg->key);
153 }

Гипотеза: такое происходит, пушо изначально сообщение аллоцировалось, но память не занулялась.

Пофикшено. Closed #35

@filonenko-mikhail filonenko-mikhail merged commit cf5d732 into master Jan 21, 2021
Comment on lines +125 to +129
msg->value = NULL;
msg->value_len = 0;
msg->key = NULL;
msg->key_len = 0;
msg->offset = 0;
Copy link

@olegrok olegrok Jan 21, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was worth to change malloc to calloc instead clear every field manually

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

Successfully merging this pull request may close these issues.

Segmentation fault on destroy_consumer_msg

3 participants