On 07/12/2012 05:07 AM, Nishanth Aravamudan wrote:
> On 12.07.2012 [00:20:04 -0700], Nishanth Aravamudan wrote:
>> Hi all,
>>
>> After finally bothering to just put a proxy in place locally, I got
>> grubby 8.15 to build, but it doesn't seem to make boottool happy :)
>>
>> 07/12 02:53:12 INFO |  boottool:0667| Installing grubby because currently 
>> installed version (8.11) is not recent enough
>> 07/12 02:53:18 DEBUG|  boottool:0674| Installed: grubby version 8.15
>> 07/12 02:53:18 ERROR|       job:1338| JOB ERROR: Unhandled TypeError: 
>> sequence item 0: expected string, NoneType found
>> Traceback (most recent call last):
>>    File "/usr/local/autotest/job.py", line 1089, in _run_step_fn
>>      exec('__ret = %s(*__args, **__dargs)' % fn, local_vars, local_vars)
>>    File "<string>", line 1, in <module>
>>    File "/usr/local/autotest/control.autoserv", line 16, in boot_kernel
>>      host.cleanup_kernels()
>>    File "/usr/local/autotest/shared/hosts/base_classes.py", line 655, in 
>> cleanup_kernels
>>      boot_info = self.bootloader.get_entries()
>>    File "/usr/local/autotest/tools/boottool.py", line 1150, in get_entries
>>      raw = self.get_info()
>>    File "/usr/local/autotest/tools/boottool.py", line 1180, in get_info
>>      info = self._run_grubby_get_output([command])
>>    File "/usr/local/autotest/tools/boottool.py", line 835, in 
>> _run_grubby_get_output
>>      return self._run_get_output(args)
>>    File "/usr/local/autotest/tools/boottool.py", line 751, in _run_get_output
>>      ' '.join(arguments))
>> TypeError: sequence item 0: expected string, NoneType found
>>
>> 07/12 02:53:18 INFO |       job:0210| END ABORT      ----    ----    
>> timestamp=1342075998    localtime=Jul 12 02:53:18       Unhandled TypeError: 
>> sequence item 0: expected string, NoneType found
>>    Traceback (most recent call last):
>>      File "/usr/local/autotest/job.py", line 1089, in _run_step_fn
>>        exec('__ret = %s(*__args, **__dargs)' % fn, local_vars, local_vars)
>>      File "<string>", line 1, in <module>
>>      File "/usr/local/autotest/control.autoserv", line 16, in boot_kernel
>>        host.cleanup_kernels()
>>      File "/usr/local/autotest/shared/hosts/base_classes.py", line 655, in 
>> cleanup_kernels
>>        boot_info = self.bootloader.get_entries()
>>      File "/usr/local/autotest/tools/boottool.py", line 1150, in get_entries
>>        raw = self.get_info()
>>      File "/usr/local/autotest/tools/boottool.py", line 1180, in get_info
>>        info = self._run_grubby_get_output([command])
>>      File "/usr/local/autotest/tools/boottool.py", line 835, in 
>> _run_grubby_get_output
>>        return self._run_get_output(args)
>>      File "/usr/local/autotest/tools/boottool.py", line 751, in 
>> _run_get_output
>>        ' '.join(arguments))
>>    TypeError: sequence item 0: expected string, NoneType found
>>    
>> 07/12 02:53:18 DEBUG|  base_job:0349| Persistent state client._record_indent 
>> now set to 0
> I won't claim to understand why it's happening, but I can tell a bit
> more about what's happening:
>
> Adding some hacks locally to _run_grubby_get_output, to print out the
> parameter arguments and the prepared return value args, I get:
>
> 04:01:35 INFO | Writing results to /usr/local/autotest/results/default
> 04:01:35 INFO | START   ----    ----    timestamp=1342080095    localtime=Jul 
> 12 04:01:35
> 04:01:36 INFO | arguments :  ['--info=ALL']
> 04:01:36 INFO | self.path =  None
> 04:01:36 INFO | arguments :  ['--version']
> 04:01:36 INFO | self.path =  /sbin/grubby
> 04:01:36 INFO | args :  ['/sbin/grubby', '--version']
> 04:01:36 INFO | arguments :  ['--version']
> 04:01:36 INFO | self.path =  /sbin/grubby
> 04:01:36 INFO | args :  ['/sbin/grubby', '--version']
> 04:01:36 INFO | arguments :  ['--version']
> 04:01:36 INFO | self.path =  /sbin/grubby
> 04:01:36 INFO | args :  ['/sbin/grubby', '--version']
> 04:01:36 INFO | args :  [None, '--grub2', '--info=ALL']
> 04:01:36 ERROR| JOB ERROR: Unhandled TypeError: sequence item 0: expected 
> string, NoneType found
>
> So a couple of questions come to mind:
>
> 1) why do we call --version so many times?

There's certainly room for optimizations here.

>
> 2) AFAICT from my debugging, this is all coming from the one call to
> get_info(), but I don't see how self.path can be None.

I've seen the same error when I had two grub entries with the same 
kernel and parameters set. I'm *guessiing* this is related to it, as 
your configuration also seems to be like that. I'm debugging that right 
now and will let you know about it.

>
> -Nish
>


_______________________________________________
Autotest mailing list
Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to