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

Re: 4.13: import xen.lowlevel.xc fails with SystemError: bad call flags


  • To: Kevin Buckley <kevin.buckley.ecs.vuw.ac.nz@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Thu, 2 Apr 2020 13:55:56 +0100
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=andrew.cooper3@xxxxxxxxxx; spf=Pass smtp.mailfrom=Andrew.Cooper3@xxxxxxxxxx; spf=None smtp.helo=postmaster@xxxxxxxxxxxxxxx
  • Delivery-date: Thu, 02 Apr 2020 12:56:10 +0000
  • Ironport-sdr: YhJserJ4oif0agV9Yy0Udz2wB1yeV6J9pSg+383q2AEyH9vKpnEfvLkaQEFMQ808KAHpuq5l3b /QqxbUtP+pdx2cezN6NLROUVaB/Iec0uROqFUz32K61aKlf1S7XdvQ7v40XBxHP2wwJd3VSifG bluGpXTNqiJM6dUwDecixvvDQEeCJSBmgUdv99RBVrLswqmANu9ReSvf+NCe9ON8FpEed2IfZY qrZcuIpz6ShXqy50a4ocRrsXoAJnotuvFMGxjvmyN51eUWBS7s5n7Cmjbz3/GWdRzzUlbzmgLE sjg=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 02/04/2020 13:43, Kevin Buckley wrote:
> Hello again,
>
> despite having built a Xen 4.13 with just Python3 on a
> Linux From Scratch system,
>
>   http://youvegotbuckleys.org.nz/LFS/LFS-BOOK.html
>
> specifically
>
>  http://youvegotbuckleys.org.nz/LFS/LFS-BOOK.html#ch-xen
>
>
> and booted into the Dom0 (Linux 5.5.3, GCC 9.2.0, Python 3.8.1)
> without issue, in coming to boot up a DomU, I get the following
> terse message
>
>
> ~ # cat /var/log/xen/bootloader.3.log
> Traceback (most recent call last):
>   File "/usr/lib/xen/bin/pygrub", line 21, in <module>
>     import xen.lowlevel.xc
> SystemError: bad call flags
> ~ #
>
> in the wake of these messages during the xl cretate's  pygrub boot:
>
>
> libxl: error: libxl_bootloader.c:648:bootloader_finished: Domain
> 3:bootloader failed - consult logfile /var/log/xen/bootloader.3.log
> libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus:
> bootloader [766] exited with error status 1
> libxl: error: libxl_create.c:1420:domcreate_rebuild_done: Domain
> 3:cannot (re-)build domain: -3
> libxl: error: libxl_domain.c:1177:libxl__destroy_domid: Domain
> 3:Non-existant domain
> libxl: error: libxl_domain.c:1131:domain_destroy_callback: Domain
> 3:Unable to destroy guest
> libxl: error: libxl_domain.c:1058:domain_destroy_cb: Domain
> 3:Destruction of domain failed
> libxl: error: libxl_dom.c:40:libxl__domain_type: unable to get domain
> type for domid=3
> xl: unable to exec console client: No such file or directory
> libxl: error: libxl_exec.c:117:libxl_report_child_exitstatus: console
> child [767] exited with error status 1
>
>
> There's a suggestion out on the interweb thing that these
>
>   SystemError: bad call flags
>
> are something to do with Python 3.8, as in this thread I found
> when searching for the above:
>
> -------
> It's a bug in the Python binding of libcomps. I proposed a fix upstream:
> https://github.com/rpm-software-management/libcomps/pull/50
>
> Extract:
>
>> In Python 3.7, import didn't check descriptor flags (METH_KEYWORDS):
>> these flags were only checked when the methods were called.
>>
>> In Python 3.8, the flags are checked at soon as the module is imported,
>> which prevents the module to be imported.
> -------
>
> Is that likely to be what i am seeing?
>
> I had a gander at
>
> tools/python/xen/lowlevel/xc/xc.c
>
> tools/python/xen/lowlevel/xs/xc.c
>
> but it's not obvious to me where, presumably in,
>
> #if PY_MAJOR_VERSION >= 3
> #define INITERROR return NULL
> PyMODINIT_FUNC PyInit_xc(void)
> #else
> #define INITERROR return
> PyMODINIT_FUNC initxc(void)
> #endif
> {
>
> I could start to "play around" with any "descriptor flags"
>
>
> Any pointers welcome, including "it's not a Python 3.8 thing,
> you idiot" responses,

We've got a fix in staging

https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=e19b4b3b55f84e0cfcc02fe5d66965969a81c965

It hasn't been backported to the 4.13 stable tree yet.

~Andrew



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.