[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: 2 anaconda problems on Alpha platform/Debugging?



Oliver Falk schrieb:
> Oliver Falk schrieb:
>> On 11/07/2007 11:41 PM, Chris Lumens wrote:
>> [ ... ]
>>> What version of anaconda and pykickstart do you have installed?
>> [root gosa ~]# rpm -q anaconda pykickstart
>> anaconda-11.3.0.50-2axp
>> pykickstart-1.19-1.fc8
>>
>> I had this problem before with older pykickstart (I believe .15) and
>> older anaconda (I beleive .34) as well.
> 
> 12:04:13 CRITICAL: anaconda None exception report
> Traceback (most recent call first):
>   File "/usr/lib/anaconda/users.py", line 134, in setRootPassword
>     self.admin.setpassUser(rootUser, cryptPassword(password, useMD5), True)
>   File "/usr/lib/anaconda/instdata.py", line 166, in write
>     self.rootPassword["lock"])
>   File "/usr/lib/anaconda/backend.py", line 211, in writeConfiguration
>     anaconda.id.write()
>   File "/usr/lib/anaconda/dispatch.py", line 203, in moveStep
>     rc = stepFunc(self.anaconda)
>   File "/usr/lib/anaconda/dispatch.py", line 126, in gotoNext
>     self.moveStep()
>   File "/usr/lib/anaconda/text.py", line 609, in run
>     anaconda.dispatch.gotoNext()
>   File "/usr/sbin/anaconda", line 952, in <module>
>     anaconda.intf.run(anaconda)
> SystemError: error locking file: Invalid argument
> 
> 
> 
> OK guys.... This is the traceback. The function setpassUser seems to
> come from libusermode.so (libuser-python). Does this make sense to anyone?

OK. If I take out the bits from users.py:
import libuser
class Users:
    def __init__ (self):
        self.admin = libuser.admin()
    def setRootPassword(self, password):
        rootUser = self.admin.lookupUserByName("root")
        self.admin.setpassUser(rootUser, password, True)
        self.admin.modifyUser(rootUser)
u = Users()
u.setRootPassword('adsf');

I can reproduce the problem and strace it (only relevant parts):

open("/etc/passwd", O_RDONLY)           = 5
write(5, NULL, 0)                       = -1 EBADF (Bad file descriptor)
fcntl(5, F_SETLK, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}) = 0
--
open("/etc/passwd", O_RDONLY)           = 5
write(5, NULL, 0)                       = -1 EBADF (Bad file descriptor)
fcntl(5, F_SETLK, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}) = 0


Duh? Why does it open with O_RDONLY and then tries to *write*!? Do I
miss something?


-of


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]