[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)



Benjamin Beier wrote:
> 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

Sorry for jumping in late, but I encountered this issue yesterday with
4.5.1. Commit 705c9e12 fixes it and should probably be backported to the
4.5 branch.

Regards,
Jim


_______________________________________________
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®.