https://bugs.openldap.org/show_bug.cgi?id=10016
Issue ID: 10016 Summary: syncprov may abandon a psearch improperly Product: OpenLDAP Version: 2.5.13 Hardware: All OS: All Status: UNCONFIRMED Keywords: needs_review Severity: normal Priority: --- Component: overlays Assignee: bugs@openldap.org Reporter: hyc@openldap.org Target Milestone: ---
When processing an Abandon, it may remove the detached search op from the connection while the qtask is actively sending search responses on the connection. If the Abandon is due to an Unbind or connection loss, the connection structure may get reused by a new conn while the qtask is still running.
https://bugs.openldap.org/show_bug.cgi?id=10016
Howard Chu hyc@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |IN_PROGRESS Ever confirmed|0 |1
--- Comment #1 from Howard Chu hyc@openldap.org --- https://git.openldap.org/openldap/openldap/-/merge_requests/607
https://bugs.openldap.org/show_bug.cgi?id=10016
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.5.15 Assignee|bugs@openldap.org |hyc@openldap.org Keywords|needs_review |
https://bugs.openldap.org/show_bug.cgi?id=10016
--- Comment #2 from David Hawes dhawes@gmail.com --- What does the failure mode for this look like? I'm trying to track down a segfault that seems to happen on an abandon. The bt looks like:
(gdb) bt #0 0x0000000000000000 in ?? () #1 0x000055d87c12eae9 in slap_response_play (op=0x55d88921c800, rs=0x7f9167dc7a70) at result.c:573 #2 0x000055d87c12ed64 in send_ldap_response (op=0x55d88921c800, rs=0x7f9167dc7a70) at result.c:648 #3 0x000055d87c12fe00 in slap_send_ldap_result (op=0x55d88921c800, rs=0x7f9167dc7a70) at result.c:924 #4 0x00007f9d6de07dad in syncprov_op_abandon (op=0x55d897084000, rs=0x7f9167dc7a70) at syncprov.c:1264 #5 0x000055d87c1bdcc9 in overlay_op_walk (op=0x55d897084000, rs=0x7f9167dc7a70, which=op_cancel, oi=0x55d87dd22000, on=0x55d87dd22200) at backover.c:691 #6 0x000055d87c1be02f in over_op_func (op=0x55d897084000, rs=0x7f9167dc7a70, which=op_cancel) at backover.c:766 #7 0x000055d87c1be2f5 in over_op_cancel (op=0x55d897084000, rs=0x7f9167dc7a70) at backover.c:838 #8 0x000055d87c19b468 in cancel_extop (op=0x55d897084000, rs=0x7f9167dc7a70) at cancel.c:138 #9 0x000055d87c15e862 in fe_extended (op=0x55d897084000, rs=0x7f9167dc7a70) at extended.c:226 #10 0x000055d87c15e58c in do_extended (op=0x55d897084000, rs=0x7f9167dc7a70) at extended.c:175 #11 0x000055d87c117ac1 in connection_operation (ctx=0x7f9167dc7bd0, arg_v=0x55d897084000) at connection.c:1113 #12 0x000055d87c118224 in connection_read_thread (ctx=0x7f9167dc7bd0, argv=0x5d) at connection.c:1265 #13 0x00007f9d6e8217b3 in ldap_int_thread_pool_wrapper (xpool=0x55d87dd121c0) at tpool.c:1059 #14 0x00007f9d6e761609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #15 0x00007f9d6e686133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb) frame 1 #1 0x000055d87c12eae9 in slap_response_play (op=0x55d88921c800, rs=0x7f9167dc7a70) at result.c:573 573 rc = op->o_callback->sc_response( op, rs ); (gdb) print op->o_callback $1 = (slap_callback *) 0x7f916cdc05c0 (gdb) print op->o_callback->sc_response $2 = (slap_response *) 0x0
https://bugs.openldap.org/show_bug.cgi?id=10016
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|IN_PROGRESS |RESOLVED
--- Comment #3 from Quanah Gibson-Mount quanah@openldap.org --- head:
• 5f934c8c by Howard Chu at 2023-02-27T15:01:23+00:00 ITS#10016: slapo-syncprov: fix Abandon with active qtask
RE26:
• 0410c80e by Howard Chu at 2023-04-27T15:09:45+00:00 ITS#10016: slapo-syncprov: fix Abandon with active qtask
RE25:
• a4ec923f by Howard Chu at 2023-04-27T15:10:27+00:00 ITS#10016: slapo-syncprov: fix Abandon with active qtask
https://bugs.openldap.org/show_bug.cgi?id=10016
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |VERIFIED