[aesop] #49: ae_op_complete() returns incorrect value on second use in the same aesop block
#49: ae_op_complete() returns incorrect value on second use in the same aesop block -------------------------+-------------------------------------------------- Reporter: carns | Owner: Type: defect | Status: new Priority: critical | Component: aesop functions Version: devel branch | Keywords: -------------------------+-------------------------------------------------- Test program to reproduce the problem can be found in parser/tests/blocking/consecutive-resource-completions. The test program makes consecutive calls to the same resource function within the same function. Neither one is cancelled: {{{ ret = btest_consec(); assert(ret == 0); ret = btest_consec(); assert(ret == 0); }}} When ae_op_complete() is called to complete the first operation, it returns 1. When ae_op_complete() is called on the second operation, it returns 0. It looks like maybe the op_state in the ae_ctl structure is not being reset after the first resource operation? The test program has been instrumented to show the following output and assert when the second ae_op_complete() returns an incorrect value: {{{ $ parser/tests/blocking/consecutive-resource-completions DEBUG: iteration 0 of btest_consec(): op: 0x2056698, op->user_ptr (ctl): 0x2056590, return code from ae_op_complete(op): 1 DEBUG: iteration 1 of btest_consec(): op: 0x20567a8, op->user_ptr (ctl): 0x2056590, return code from ae_op_complete(op): 0 consecutive-resource-completions: ../parser/tests/blocking/btest- impl.c:456: btest_poll: Assertion `normal_completion' failed. Aborted (core dumped) }}} -- Ticket URL: <https://trac.mcs.anl.gov/projects/aesop/ticket/49> aesop <https://trac.mcs.anl.gov/projects/aesop> The Aesop Language
participants (1)
-
aesop