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

Re: [Xen-devel] [BUG][4.5.1]xl cpupool-create segfault (with config file parameter)



On 08/12/2015 01:28 PM, Ian Campbell wrote:
On Wed, 2015-08-12 at 13:03 +0200, Benjamin Beier wrote:
Since xen version 4.5.1 there is a bug with the xl cpupool-create
command.
It always throws a segmentation fault when used with a config file as
parameter.
The content of the config file does not really matter (valid or invalid).
It also fails with the example config file in /etc/xen/cpupool or with
the dryrun flag.
You never get any output apart from "segmentation fault".
If you create exactly the same cpupool without using a config file it
works absolutely fine.
Tested on multiple systems and it seems to be reproducible for everyone.
STrace shows that the command fails right after reading the content of
the config file.

Please can you capture a backtrace by running it under gdb. Valgrind might
also have something interesting to say.

FWIW this doesn't happen on the current development branch:
     # cat foo
     Testing
     # xl cpupool-create foo
     foo:1: config parsing error near `Testing': lexical error
     Failed to parse config file: Invalid argument

But I don't see any obviously related looking fixes in the commit log.

Was 4.5.0 ok?

I am not 100% sure about that, because I only had a test system running with it. As you guys didn't notice any problems I should mention that my servers are running Gentoo Linux. Maybe this is a Gentoo specific problem and not relevant at all for upstream xen. Or it is an upstream problem that only shows up on the custom-compiled gentoo systems.

# cat testing
foo

# xl cpupool-create testing
Segmentation fault

# strace xl cpupool-create testing
(...)
open("testing", O_RDONLY)               = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=4, ...}) = 0
fstat(7, {st_mode=S_IFREG|0644, st_size=4, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x776ec3228000
read(7, "foo\n", 4096)                  = 4
close(7)                                = 0
munmap(0x776ec3228000, 4096)            = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault

Program received signal SIGSEGV, Segmentation fault.
0x0000000000418db5 in main_cpupoolcreate (argc=<optimized out>, argv=0x7fffffffda50) at xl_cmdimpl.c:7102
7102    xl_cmdimpl.c: No such file or directory.
(gdb) bt
#0 0x0000000000418db5 in main_cpupoolcreate (argc=<optimized out>, argv=0x7fffffffda50) at xl_cmdimpl.c:7102
#1  0x0000000000407c79 in main (argc=2, argv=0x7fffffffda50) at xl.c:361

Just tell me if this is a gentoo-only thing and I will open a bug report there.

Regards,
Benjamin


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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