Skip to content

Pulsar client with custom logger may not terminate gracefully when a producer is created #256

@tzvi-shir-vaknin

Description

@tzvi-shir-vaknin

When providing a custom logger to the Pulsar client and creating a producer, intermittent terminations occur with the following error:

terminate called without an active exception
Aborted (core dumped)

This doesn't happen consistently; I'd estimate it occurs in about 1 out of 20 runs. The other executions complete gracefully as expected. As the setup here is almost exactly as in #194, I've tried adding the del statements suggested there, but that hasn't resolved the issue for me.

Here is the Python script I'm using:

import logging
import pulsar


def open_and_close():
    pulsar_logger = logging.getLogger("pulsarDummyLogger")
    client = pulsar.Client("pulsar://localhost:6650", logger=pulsar_logger)
    producer = client.create_producer("A")
    producer.close()
    client.close()
    del producer
    del client


if __name__ == "__main__":
    open_and_close()

I'm running it using the following bash command (as it doesn't happen all the time, I must run it a few times to encounter it):

for i in {1..20}; do env/bin/python python_script.py || break; done

I tried it on python 3.11.3 and on 3.13.3, as well as with pulsar-client 3.5.0, 3.6.0, 3.6.1, 3.7.0.

Any insights or suggestions would be greatly appreciated

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions