[Kimchi-devel] [PATCH] Fix a ZeroDivisionError when starting kimchi service in Qemu.
Aline Manera
alinefm at linux.vnet.ibm.com
Fri Mar 20 21:32:21 UTC 2015
Reviewed-by: Aline Manera <alinefm at linux.vnet.ibm.com>
On 20/03/2015 17:14, Jose Ricardo Ziviani wrote:
> When using kimchi inside a virtual machine it's possible to get a
> ZeroDivisionError exception because self.sockets is 0, so the
> division self.cores_per_socket = self.cores_present/self.sockets will
> fail. In this case, self.sockets is 0 because cores_present = 1 and
> threads_per_core = 4, which will truncate 0.25 to 0 during the
> integer division.
>
> This is a low priority corner case since kimchi is obviously not
> supposed to run under a virtual machine but for a plugin development,
> which will not use any virtualization capability, it might become
> handy.
>
> Signed-off-by: Jose Ricardo Ziviani <joserz at linux.vnet.ibm.com>
> ---
> src/kimchi/model/cpuinfo.py | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/src/kimchi/model/cpuinfo.py b/src/kimchi/model/cpuinfo.py
> index 3411ef5..d063425 100644
> --- a/src/kimchi/model/cpuinfo.py
> +++ b/src/kimchi/model/cpuinfo.py
> @@ -84,6 +84,8 @@ class CPUInfoModel(object):
> if not rc:
> self.threads_per_core = int(out.split()[-1])
> self.sockets = self.cores_present/self.threads_per_core
> + if self.sockets == 0:
> + self.sockets = 1
> self.cores_per_socket = self.cores_present/self.sockets
> else:
> # Intel or AMD
More information about the Kimchi-devel
mailing list