Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrading libevent based TCP server implementation from commit id 665d79f1 to ec8d7a5a results in random crashes #1562

Open
mareksm opened this issue Feb 22, 2024 · 5 comments
Labels
subsystem:http HTTP Related issue

Comments

@mareksm
Copy link
Contributor

mareksm commented Feb 22, 2024

FYI: The server code did not change - it is running stable under various loads on commit id 665d79f (or earlier). After libevent upgrade to commit id ec8d7a5 it randomly crashes. Can't upload stack trace nor share server code unfortunately.
OS: RHEL8, non-ssl sockets only.

@mareksm
Copy link
Contributor Author

mareksm commented Feb 23, 2024

From the server perspective, only concerning changes (going from one commit to the other) are in bufferevent_pair.c, bufferevent_ssl.c, bufferevent_filter.c, evthread.c and evutil_time.c.

@mareksm
Copy link
Contributor Author

mareksm commented Feb 26, 2024

Something has changed going from earlier (stable) commit id to the newer one. Could it be updates involving EVUTIL_ASSERT, BEV_IS_FILTER changes in those source files?

@azat
Copy link
Member

azat commented Mar 3, 2024

There is not too much can be done without stacktrace or reproducer, please provide one or another.
You can configure your server to preserve core dumps and compile with -O2 -g3
And/or run under ASAN

@azat azat added the subsystem:http HTTP Related issue label Mar 3, 2024
@azat
Copy link
Member

azat commented Mar 3, 2024

Something has changed going from earlier (stable) commit id to the newer one. Could it be updates involving EVUTIL_ASSERT, BEV_IS_FILTER changes in those source files?

I don't see how it is possible, now upcast() cannot return NULL, but everywhere it is used now it dereference the pointer without check anyway

@mareksm
Copy link
Contributor Author

mareksm commented Mar 4, 2024

The server is not using http module from libevent.
No problem with the server when running with commit id 665d79f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
subsystem:http HTTP Related issue
Development

No branches or pull requests

2 participants