Librdkafka: OpenSSL global destructor fix

Created on 30 Sep 2016  路  15Comments  路  Source: edenhill/librdkafka

Issue seen in https://github.com/arnaud-lb/php-rdkafka/issues/59 where both librdkafka and curl use OpenSSL. When libraries are unloaded from memory on PHP termination the global callbacks will reference unmapped memory causing a crash.

PostgreSQL's fix for the same is here:
https://www.postgresql.org/message-id/[email protected]

bug

Most helpful comment

I clearly remember you saying 2 drinks

All 15 comments

This was my dumb attempt, but it doesn't seem to be working: https://github.com/edenhill/librdkafka/compare/master...dzuelke:unset_ssl_callbacks

rd_kafka_transport_term() is never called :)
I just left it in there as documentation as why it shouldnt be used..

I have a fix on the way though

Oh I see now. My bad =)

I can test right away once you got a fix ready!

Awesome, it will be on the partition_changes branch in a few minutes, just need it to pass the SSL and SASL tests.

There, go crazy!

No more crash! Good stuff @edenhill :)

wohoo! Thanks for all the fantastic work on this!
The partition_changes branch will end up in master in a week or two.

Do you need it cherry-picked in master sooner than that?

Nah I think I'll wait for 0.9.2. If I want to ship PHP+Kafka support on Heroku earlier I can always use that branch, but I won't be able to do that next week anyway, so the week after sounds mighty fine :)

Also general 馃憡馃徏 for your A++ responsiveness to issues. Remind me to buy you a drink if we ever run into each other; I got the memory of a goldfish so I'll certainly forget.

I clearly remember you saying 2 drinks

This issue is now fixed on master, please try to verify the fix in your environment.
Thank you.

Still works with master! Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

pipefail picture pipefail  路  6Comments

twaters picture twaters  路  5Comments

edenhill picture edenhill  路  3Comments

tchap picture tchap  路  5Comments

agis picture agis  路  5Comments