Open shkp4j opened 3 years ago
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)
Oh damn, I had a fix for that since months but it didn't make it here. Here it is: 841c82289b23d32c28723a0175654ecc6baeae08.
Could you check if commit https://github.com/p-quic/pquic/commit/e08ae8f6482b09bcdf32fcbaadec63b3085df0ae 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_argt) &value; ... } prints out
cnx->protoop_inputv[0]: (nil) and throws an error Address 0x0 is not stack'd, malloc'd or (recently) free'd