Frank Swasey wrote: > Today at 4:34am, Howard Chu wrote: > >> There are only two places in libmdb that return ENOSPC. Both of them imply >> that there's a bug in the library. It would be helpful to run under a >> debugger >> with breakpoints set on both locations, to see which has occurred. > > I see that is in mdb_node_add and mdb_update_key. If you will provide > guidance (I'm not versed in gdb), I will see what I can find for you. I > have preserved the environment, so I can do this debugging repeatedly. > Attach gdb to the running slapd, set breakpoints, then trigger the bug:
% gdb <path to slapd> <PID of running slapd> (gdb) list mdb_node_add (gdb) break 4952 <-- line number of 1st "return ENOSPC;" statement (gdb) break 5355 (gdb) continue (Use the correct source line numbers for your source tree.) Trigger the bug. When gdb breaks: (gdb) bt full That's all. -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
