The attached patch fixes the crash described in https://bugzilla.redhat.com/show_bug.cgi?id=743133#c28
The cause is actually embarassingly simple, the bug just did occur only with specific configurations our tests didn't exercise and moreover the default debugging didn't include enough information to triage the issue just from the debug logs.
The root cause was that we would process all nested groups in a nesting level in a single tevent request and we kept the number of parent groups stored in the "state" structure. However, when moving to next group in the nesting leve, we didn't reset the number of parents..
Instead of keeping the number of parent groups in "state" and having to reset the count when moving to another group on the same level, the patch keeps track of the all groups on a particular level along with their parents and parent count in a more structured manner. This makes the code less fragile.
The patch also adds more debugging.
On Thu, 2012-03-08 at 19:17 +0100, Jakub Hrozek wrote:
The attached patch fixes the crash described in https://bugzilla.redhat.com/show_bug.cgi?id=743133#c28
The cause is actually embarassingly simple, the bug just did occur only with specific configurations our tests didn't exercise and moreover the default debugging didn't include enough information to triage the issue just from the debug logs.
The root cause was that we would process all nested groups in a nesting level in a single tevent request and we kept the number of parent groups stored in the "state" structure. However, when moving to next group in the nesting leve, we didn't reset the number of parents..
Instead of keeping the number of parent groups in "state" and having to reset the count when moving to another group on the same level, the patch keeps track of the all groups on a particular level along with their parents and parent count in a more structured manner. This makes the code less fragile.
The patch also adds more debugging.
Ack for master and sssd-1-8, though I fixed two minor formatting issues (interdiff attached).
On Thu, 2012-03-08 at 14:25 -0500, Stephen Gallagher wrote:
On Thu, 2012-03-08 at 19:17 +0100, Jakub Hrozek wrote:
The attached patch fixes the crash described in https://bugzilla.redhat.com/show_bug.cgi?id=743133#c28
The cause is actually embarassingly simple, the bug just did occur only with specific configurations our tests didn't exercise and moreover the default debugging didn't include enough information to triage the issue just from the debug logs.
The root cause was that we would process all nested groups in a nesting level in a single tevent request and we kept the number of parent groups stored in the "state" structure. However, when moving to next group in the nesting leve, we didn't reset the number of parents..
Instead of keeping the number of parent groups in "state" and having to reset the count when moving to another group on the same level, the patch keeps track of the all groups on a particular level along with their parents and parent count in a more structured manner. This makes the code less fragile.
The patch also adds more debugging.
Ack for master and sssd-1-8, though I fixed two minor formatting issues (interdiff attached).
Pushed to master and sssd-1-8.
sssd-devel@lists.fedorahosted.org