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

Error in running multipath_rtt_cond.plugin after commit #22

Open
shkp4j opened this issue Jun 7, 2021 · 2 comments
Open

Error in running multipath_rtt_cond.plugin after commit #22

shkp4j opened this issue Jun 7, 2021 · 2 comments

Comments

@shkp4j
Copy link

shkp4j commented Jun 7, 2021

Could you check if commit e08ae8f is causing errors when running plugin multipath_rtt_cond.plugin / also multipath_rr_cond.plugin

picoquic/transport.c
int prepare_plugin_transport_extensions(picoquic_cnx_t* cnx, uint8_t* bytes, size_t bytes_max)
{
...
fprintf(stderr, "cnx->protoop_inputv[0]: %p\n", &cnx->protoop_inputv[0]);
cnx->protoop_inputv[0] = (protoop_arg_t) &value;
...
}
prints out
cnx->protoop_inputv[0]: (nil)
and throws an error
Address 0x0 is not stack'd, malloc'd or (recently) free'd

@shkp4j shkp4j changed the title Error in running multipath_rtt_cond.plugin after commit - e08ae8f6482b09bcdf32fcbaadec63b3085df0ae Error in running multipath_rtt_cond.plugin after commit https://github.com/p-quic/pquic/tree/9076df5472f39b88fcfe892550002f1d24befd38 Jun 7, 2021
@shkp4j shkp4j changed the title Error in running multipath_rtt_cond.plugin after commit https://github.com/p-quic/pquic/tree/9076df5472f39b88fcfe892550002f1d24befd38 Error in running multipath_rtt_cond.plugin after commit Jun 7, 2021
@shkp4j
Copy link
Author

shkp4j commented Jun 7, 2021

plugin.c does initialize, but then clean up immediately.

protoop_arg_t plugin_run_protoop_internal(picoquic_cnx_t *cnx, const protoop_params_t *pp) {

cnx->protoop_inputv = pp->inputv;   //1302 
fprintf(stderr, "plugin.c | plugin_run_protoop_internal() line 1302, cnx->protoop_inputv[0]: %p\n", &cnx->protoop_inputv[0]);

cnx->protoop_inputv = caller_inputv;
fprintf(stderr, "plugin.c | plugin_run_protoop_internal() cleanup: cnx->protoop_inputv[0]: %p\n", &cnx->protoop_inputv[0]);

..
}

plugin.c | plugin_run_protoop_internal() line 1302, cnx->protoop_inputv[0]: 0x1ffeffdfd0
plugin.c | plugin_run_protoop_internal() cleanup: cnx->protoop_inputv[0]: (nil)
plugin.c | plugin_run_protoop_internal() line 1302, cnx->protoop_inputv[0]: 0x1ffeffdfd0
plugin.c | plugin_run_protoop_internal() cleanup: cnx->protoop_inputv[0]: (nil)
plugin.c | plugin_run_protoop_internal() line 1302, cnx->protoop_inputv[0]: 0x1ffeffdfd0
plugin.c | plugin_run_protoop_internal() cleanup: cnx->protoop_inputv[0]: (nil)

@mpiraux
Copy link
Member

mpiraux commented Jun 8, 2021

Oh damn, I had a fix for that since months but it didn't make it here. Here it is: 841c822.

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