[SSSD] [PATCH] The new memberof plugin

Trond Hasle Amundsen t.h.amundsen at usit.uio.no
Tue Sep 27 09:16:18 UTC 2011


Jan Zelený <jzeleny at redhat.com> writes:

>> > As you described it, it looks like issue similar to what Stephen found
>> > earlier and is now fixed. It probably isn't caused by the size of
>> > groups but rather membership structure. Could you be more specific how
>> > the structure is organized? Do you use rfc2307 or rfc2307bis? If the
>> > latter is the case, how deep your membership structure goes and how
>> > does it approximately look like?
>> 
>> This is rfc2307.
>
> There must be something else going on. I tested 2307 on a group with ~1000 
> users and I found no problem.
>
> Could you provide me a backtrace of the place where the process hangs? Any 
> other information you might have will be useful as well.

I don't have a backtrace, since I compiled this as an rpm. However, an
strace of sssd_be hopefully holds a clue or two:

  ... lots of uninteresing bits ...
  24469 fcntl(20, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 brk(0x3f70000)                    = 0x3f70000
  24469 brk(0x3fcc000)                    = 0x3fcc000
  24469 brk(0x4192000)                    = 0x4192000
  24469 brk(0x43ca000)                    = 0x43ca000
  24469 mmap(NULL, 3641344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81a7aed000
  24469 mremap(0x7f81a7aed000, 3641344, 4550656, MREMAP_MAYMOVE) = 0x7f81a7696000
  24469 brk(0x43eb000)                    = 0x43eb000
  24469 brk(0x440c000)                    = 0x440c000
  24469 brk(0x442d000)                    = 0x442d000
  24469 brk(0x444e000)                    = 0x444e000
  24469 brk(0x446f000)                    = 0x446f000
  24469 brk(0x4490000)                    = 0x4490000
  24469 brk(0x44b1000)                    = 0x44b1000
  24469 brk(0x44d2000)                    = 0x44d2000
  24469 brk(0x44f3000)                    = 0x44f3000
  24469 brk(0x4514000)                    = 0x4514000
  24469 brk(0x4629000)                    = 0x4629000
  24469 fcntl(20, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 brk(0x4731000)                    = 0x4731000
  24469 munmap(0x7f81a7e66000, 11153408)  = 0
  24469 brk(0x4752000)                    = 0x4752000
  24469 brk(0x4778000)                    = 0x4778000
  24469 brk(0x4799000)                    = 0x4799000
  24469 brk(0x47ba000)                    = 0x47ba000
  24469 brk(0x47db000)                    = 0x47db000
  24469 brk(0x47fc000)                    = 0x47fc000
  24469 brk(0x481d000)                    = 0x481d000
  24469 brk(0x483f000)                    = 0x483f000
  24469 brk(0x4861000)                    = 0x4861000
  24469 brk(0x4884000)                    = 0x4884000
  24469 brk(0x48a6000)                    = 0x48a6000
  24469 brk(0x48c9000)                    = 0x48c9000
  24469 brk(0x48ea000)                    = 0x48ea000
  24469 brk(0x490b000)                    = 0x490b000
  24469 brk(0x492c000)                    = 0x492c000
  24469 brk(0x494d000)                    = 0x494d000
  24469 brk(0x496e000)                    = 0x496e000
  24469 brk(0x498f000)                    = 0x498f000
  24469 brk(0x49b1000)                    = 0x49b1000
  24469 brk(0x49d3000)                    = 0x49d3000
  24469 brk(0x49f6000)                    = 0x49f6000
  24469 mmap(NULL, 13942784, PROT_READ|PROT_WRITE, MAP_SHARED, 20, 0) = 0x7f81a7bbd000
  24469 fcntl(20, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 fcntl(20, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=48, len=1}) = 0
  24469 open("/dev/tty", O_RDWR|O_NOCTTY|O_NONBLOCK) = -1 ENXIO (No such device or address)
  24469 writev(2, [{"*** glibc detected *** ", 23}, {"/usr/libexec/sssd/sssd_be", 25}, {": ", 2}, {"corrupted double-linked list", 28}, {": 0x", 4}, {"00000000048d98f0", 16}, {" ***\n", 5}], 7) = 103
  24469 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f81af93d000
  24469 open("/etc/ld.so.cache", O_RDONLY) = 25
  24469 fstat(25, {st_mode=S_IFREG|0644, st_size=114674, ...}) = 0
  24469 mmap(NULL, 114674, PROT_READ, MAP_PRIVATE, 25, 0) = 0x7f81a8b40000
  24469 close(25)                         = 0
  24469 open("/lib64/libgcc_s.so.1", O_RDONLY) = 25
  24469 read(25, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20)\300\220;\0\0\0"..., 832) = 832
  24469 futex(0x3b8a78ae80, FUTEX_WAIT_PRIVATE, 2, NULL
  .... and here it hangs ...

The "corrupted double-linked list" looks interesting...

PS. I forgot to mention that I'm using sssd 1.5.12 + memberof patch on
rhel6 x86_64, since it required the least amount of effort to compile
and install.

Regards,
-- 
Trond H. Amundsen <t.h.amundsen at usit.uio.no>
Center for Information Technology Services, University of Oslo



More information about the sssd-devel mailing list