Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

name mapping failed with warnquota

Help
simisch
2008-10-17
2013-03-26
  • simisch
    simisch
    2008-10-17

    Hi,

    I'm using quota-tool 3.16 on SLES10 SP2. Now I got error message when I'm running warnquota
    warnquota: Cannot get name for uid/gid 1007.
    The nscd is running. My users authentification is done via ldap. But I'm not using the ldap feature in warnquota because it isn't working (warnquota: Error in config file (line 113), ignoring).

    Does anybody know what to do? I can login properly as user - no name mapping problem there. Only (as far as I can see ) in warnquota.

    Thanks for helping

     
    • Jan Kara
      Jan Kara
      2008-10-19

      A few questions here:

      1) When did warnquota start to complain?
      2) This error message means that getpwuid() call failed - does command 'id' work without problems (that command also uses getpwuid())? You could also use command ltrace to find out with which error code getpwuid() fails, that would also help debugging this.
      3) Does warnquota work correctly for other users?

       
      • simisch
        simisch
        2008-10-22

        hi,

        found the problem: stopped the slapd, run slapindex, start slapd
        then all works fine again - it's weired because everthings else worked

         
    • simisch
      simisch
      2008-10-20

      Hi,

      1) warnquota start complain after the run
      2) id command works perfect
      here a bit of the ltrace (hope it's enough)
      malloc(96)                                                                                           = 0x00516ff0
      memset(0x00516ff0, '\000', 96)                                                                       = 0x00516ff0
      lseek64(3, 8, 0, 0, 0x40000000)                                                                      = 8
      read(3, "\200:\t", 24)                                                                               = 24
      malloc(2)                                                                                            = 0x005190d0
      memset(0x005190d0, '\000', 2)                                                                        = 0x005190d0
      malloc(1024)                                                                                         = 0x0051a200
      lseek64(3, 1024, 0, 0x51a1f0, 512)                                                                   = 1024
      read(3, "\002", 1024)                                                                                = 1024
      malloc(1024)                                                                                         = 0x0051a610
      lseek64(3, 2048, 0, 0x51a600, 512)                                                                   = 2048
      read(3, "\003", 1024)                                                                                = 1024
      malloc(1024)                                                                                         = 0x0051aa20
      lseek64(3, 3072, 0, 0x51aa10, 512)                                                                   = 3072
      read(3, "\004", 1024)                                                                                = 1024
      malloc(1024)                                                                                         = 0x0051ae30
      lseek64(3, 4096, 0, 0x51ae20, 512)                                                                   = 4096
      read(3, "\005", 1024)                                                                                = 1024
      malloc(1024)                                                                                         = 0x0051b240
      lseek64(3, 5120, 0, 5, 512)                                                                          = 5120
      read(3, "", 1024)                                                                                    = 1024
      getpwuid(1007, 0x7fffcc165f10, 0x7fffcc165f10, 0x5190f0, 0)                                          = 0
      __snprintf_chk(0x7fffcc165f10, 64, 1, -1, 0x40ce90)                                                  = 5
      dcgettext(0, 0x40cab8, 5, 0x7fffcc165ca0, 0)                                                         = 0x40cab8
      __fprintf_chk(0x2b9fdec93880, 1, 0x40ccac, 0x7fffcc16b4aa, 0x7fffcc165ed0)                           = 11
      __vfprintf_chk(0x2b9fdec93880, 1, 0x40cab8, 0x7fffcc165e20, 0xffffffff)                              = 33
      getpwuid(1012, 0x7fffcc165f10, 0x7fffcc165f10, 0x5190f0, 0)                                          = 0x2b9fdec95860
      strncpy(0x7fffcc165f10, "<simisch>", 64)                                                           = 0x7fffcc165f10
      malloc(32)                                                                                           = 0x0051ba60
      __strdup(0x7fffcc165f10, 0x2b9fdec94af0, 95617, 0x51ba50, 32768)                                     = 0x5174b0
      malloc(88)                                                                                           = 0x0051ba90
      __strdup(0x5190f8, 0x2b9fdec94ad0, 0x517008, 0x51ba98, 8192)                                         = 0x51baf0
      free(0x0051b240)                                                                                     = <void>
      free(0x0051ae30)                                                                                     = <void>
      malloc(1024)                                                                                         = 0x0051ae30
      lseek64(3, 6144, 0, 0x51ae20, 0x1000000)                                                             = 6144
      read(3, "", 1024)                                                                                    = 1024
      malloc(1024)                                                                                         = 0x0051b240
      lseek64(3, 8192, 0, 0, 1040)                                                                         = 8192
      read(3, "", 1024)                                                                                    = 1024
      free(0x0051b240)                                                                                     = <void>
      free(0x0051ae30)                                                                                     = <void>
      malloc(1024)                                                                                         = 0x0051ae30

      So to explain: currently I'm having to user over the quota (including me simisch). warnquota fins me because I've just logined in. really - if I'm not logged in right before executing warnquota then the name mapping also failed for me.  id and finger command are working on both users

      3) nope, any user over it's quota has the same problem

      thanks for helping
      simisch

       
    • Jan Kara
      Jan Kara
      2008-10-22

      Interesting. That's really strange but it might be some strange effect of nscd which caches name lookups. Anyway, I'm glad you've solved the problem.