[et-mgmt-tools] Traceback on system add and distro import

Michael DeHaan mdehaan at redhat.com
Wed Oct 24 13:59:33 UTC 2007


Eric Raymond wrote:
> Hello All,
>
> I am not sure what exactly happened, but it definitely seems like 
> threading issue went wrong.  I was importing a distro and during that 
> time, I also added a system, but the newly added system was not using 
> the currently importing distro or profile.  The import bombed out with 
> memory corruption error. Then I tried to recover but found that I kept 
> getting traceback errors whenever i ran any cobbler command. I have 
> rebooted, and still cobbler is not able to run now.  Before I blow 
> away my installation and try again any suggestions?

Hmmm .... Cobbler isn't threaded.  Were you using the WebUI and command 
line at the same time?    Ordinarily that should be ok, though if one 
were to crash (still not sure why it actually crashed?) while it had not 
yet finished writing the configuration file, that would be a problem.  
Do you have a copy of the error (traceback) you could post?

Part of the goodness about the new serializer (which very well could 
become the default) is it should solve the problem of the any sort of 
error occuring while cobbler is writing the configuration file.   With 
the yaml format, cobbler has to rewrite it's entire configuration file 
when you save a new object, so if it runs out of disk space.  The new 
serializer is able to insert only the changes.   

Yes, I would delete your existing 
/var/lib/cobbler/(distros|profiles|systems|repos) files and let cobbler 
regenerate them.   If you want to back up this directory 
(/var/lib/cobbler) periodically, it would probably be a good idea.



>
> Here is the full traceback:
>
> [root at kickstart ~]# cobbler sync
> Traceback (most recent call last):
>   File "/usr/lib/python2.4/site-packages/cobbler/cobbler.py", line 
> 713, in main
>     BootCLI( sys.argv).run()
>   File "/usr/lib/python2.4/site-packages/cobbler/cobbler.py", line 42, 
> in __init__
>     self.api = api.BootAPI()
>   File "/usr/lib/python2.4/site-packages/cobbler/api.py", line 43, in 
> __init__
>     self.deserialize()
>   File "/usr/lib/python2.4/site-packages/cobbler/api.py", line 227, in 
> deserialize
>     return self._config.deserialize()
>   File "/usr/lib/python2.4/site-packages/cobbler/config.py", line 170, 
> in deserialize
>     if not serializer.deserialize(x,topological=True):
>   File "/usr/lib/python2.4/site-packages/cobbler/serializer.py", line 
> 45, in deserialize
>     return storage_module.deserialize(obj,topological)
>   File 
> "/usr/lib/python2.4/site-packages/cobbler/modules/serializer_yaml.py", 
> line 82, in deserialize
>     datastruct = yaml.load(data).next()  # first record
>   File "/usr/lib/python2.4/site-packages/cobbler/yaml/load.py", line 
> 83, in next
>     self.nestedDocs.nestToNextLine()
>   File "/usr/lib/python2.4/site-packages/cobbler/yaml/stream.py", line 
> 131, in nestToNextLine
>     indentation = indentLevel(line)
>   File "/usr/lib/python2.4/site-packages/cobbler/yaml/stream.py", line 
> 6, in indentLevel
>     while n < len(line) and line[n] == ' ':
> TypeError: len() of unsized object
>
> Thanks,
>
> Eric
> ------------------------------------------------------------------------
>
> _______________________________________________
> et-mgmt-tools mailing list
> et-mgmt-tools at redhat.com
> https://www.redhat.com/mailman/listinfo/et-mgmt-tools




More information about the et-mgmt-tools mailing list