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

Segmentation fault on lsquic_engine_destroy #37

Closed
sergePSE opened this issue May 23, 2018 · 2 comments
Closed

Segmentation fault on lsquic_engine_destroy #37

sergePSE opened this issue May 23, 2018 · 2 comments

Comments

@sergePSE
Copy link

May I ask you for a hint in the next issue or maybe an advice, what can be additionally checked?
Segmentation fault: lsquic_full_conn.c:762
if (conn->fc_conn.cn_enc_session)
conn->fc_conn.cn_esf->esf_destroy(conn->fc_conn.cn_enc_session);

conn->fc_conn.cn_esf does not exist, while conn->fc_conn.cn_enc_session exists.
Error appears after https://github.com/sergePSE/thesis_share/blob/master/quic_probe/src/quic_engine_holder.c:110

@dtikhonov
Copy link
Contributor

conn->fc_conn.cn_esf does not exist, while conn->fc_conn.cn_enc_session exists

This likely means indicates that contents of memory pointed to by conn are invalid. This is because cn_esf is only assigned once, in the constructor. On the other hand, the call to destroy cn_enc_session is pretty far down in the destructor, so all preceding cleanup function calls were OK. Perhaps something fishy is done in the on_conn_closed callback?

I would try tracing the connection lifetime: -l conn=debug.

@sergePSE
Copy link
Author

Thanks for response, debugging level was helpful and I've done a mistake in mentioned by you callback.

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

No branches or pull requests

2 participants