Failed to get name_resolve_order via s3 lpcfg wrapper and improving s3 ldap import
Andrew Bartlett
abartlet at samba.org
Sat Jul 14 05:26:32 MDT 2012
On Sat, 2012-07-14 at 13:13 +0200, Gémes Géza wrote:
> 2012-07-14 12:10 keltezéssel, Andrew Bartlett írta:
> > On Sat, 2012-07-14 at 09:35 +0200, Gémes Géza wrote:
> >
> >> Hi,
> >>
> >> Unfortunately you lose. It is running without problem, except the
> >> ldb=samDB line and below (which is part of a function called for every
> >> user to be migrated). The only (seems to be a red herring) error message
> >> is at the beginning of the execution: no talloc stackframe around,
> >> leaking memory
> >> and valgrind reports lots of memory leaks in (seems to be) unrelated
> >> functions, but tested with a pristine upgrade.py and the situation seems
> >> to be the same.
> > Perhaps at this point send me the patch and I'll see what I can do to
> > help out.
> >
> > Andrew Bartlett
> >
> Hi,
>
> Now with import (in upgrade.py) of SamDB and system_session it gets even
> more interesting. Now it fails.
>
> Under gdb it produces:
>
> Starting program: /usr/bin/python /usr/local/samba/bin/samba-tool domain
> classicupgrade --dbdir=/tmp/samba_tdb/ --use-xattrs=yes
> --realm=KZSDABAS.HU /tmp/smb.conf.reg
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> no talloc stackframe around, leaking memory
> Reading smb.conf
> Provisioning
> Exporting account policy
> Exporting groups
> Exporting users
> PANIC: assert failed at ../lib/param/loadparm.c(1540):
> lp_ctx->s3_fns->name_resolve_order
> PANIC (pid 2513): assert failed: lp_ctx->s3_fns->name_resolve_order
Thanks, that gives me the detail I need. I'll see what I can do to fix
that up, it's a limitation in the loadparm system. However, you can
work around this limitation.
In this case, there are two different loadparm contexts that are valid.
instead of
lp=samba3.lp
use
lp=result.lp
(where result is the result of provision). Also, don't open the ldap DB
on each entry, open it once before starting the iteration and re-use the
handle.
Also, use Ldb not SamDB (as this isn't a AD-like database).
I hope this helps,
Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
More information about the samba-technical
mailing list