qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Lieven <pl@dlh.net>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] Qemu-KVM 0.12.3 and Multipath -> Assertion
Date: Tue, 04 May 2010 13:38:56 +0200	[thread overview]
Message-ID: <4BE00750.6040804@dlh.net> (raw)
In-Reply-To: <4BDFDC44.9030808@redhat.com>

hi kevin,

i set a breakpint at bmdma_active_if. the first 2 breaks encountered 
when the last path in the multipath
failed, but the assertion was not true.
when i kicked one path back in the breakpoint was reached again, this 
time leading to an assert.
the stacktrace is from the point shortly before.

hope this helps.

br,
peter
--

(gdb) b bmdma_active_if
Breakpoint 2 at 0x43f2e0: file 
/usr/src/qemu-kvm-0.12.3/hw/ide/internal.h, line 507.
(gdb) c
Continuing.
[Switching to Thread 0x7f7b3300d950 (LWP 21171)]

Breakpoint 2, bmdma_active_if (bmdma=0xe31fd8) at 
/usr/src/qemu-kvm-0.12.3/hw/ide/internal.h:507
507        assert(bmdma->unit != (uint8_t)-1);
(gdb) c
Continuing.

Breakpoint 2, bmdma_active_if (bmdma=0xe31fd8) at 
/usr/src/qemu-kvm-0.12.3/hw/ide/internal.h:507
507        assert(bmdma->unit != (uint8_t)-1);
(gdb) c
Continuing.

Breakpoint 2, bmdma_active_if (bmdma=0xe31fd8) at 
/usr/src/qemu-kvm-0.12.3/hw/ide/internal.h:507
507        assert(bmdma->unit != (uint8_t)-1);
(gdb) bt full
#0  bmdma_active_if (bmdma=0xe31fd8) at 
/usr/src/qemu-kvm-0.12.3/hw/ide/internal.h:507
    __PRETTY_FUNCTION__ = "bmdma_active_if"
#1  0x000000000043f6ba in ide_read_dma_cb (opaque=0xe31fd8, ret=0) at 
/usr/src/qemu-kvm-0.12.3/hw/ide/core.c:554
    bm = (BMDMAState *) 0xe31fd8
    s = (IDEState *) 0xe17940
    n = 0
    sector_num = 0
#2  0x000000000058730c in dma_bdrv_cb (opaque=0xe17940, ret=0) at 
/usr/src/qemu-kvm-0.12.3/dma-helpers.c:94
    dbs = (DMAAIOCB *) 0xe17940
    cur_addr = 0
    cur_len = 0
    mem = (void *) 0x0
#3  0x000000000049e510 in qemu_laio_process_completion (s=0xe119c0, 
laiocb=0xe179c0) at linux-aio.c:68
    ret = 0
#4  0x000000000049e611 in qemu_laio_enqueue_completed (s=0xe119c0, 
laiocb=0xe179c0) at linux-aio.c:107
No locals.
#5  0x000000000049e787 in qemu_laio_completion_cb (opaque=0xe119c0) at 
linux-aio.c:144
    iocb = (struct iocb *) 0xe179f0
    laiocb = (struct qemu_laiocb *) 0xe179c0
    val = 1
    ret = 8
    nevents = 1
    i = 0
    events = {{data = 0x0, obj = 0xe179f0, res = 4096, res2 = 0}, {data 
= 0x0, obj = 0x0, res = 0, res2 = 0} <repeats 46 times>, {data = 0x0, 
obj = 0x0, res = 0,
    res2 = 4365191}, {data = 0x429abf, obj = 0x7f7b3300c410, res = 
4614129721674825936, res2 = 14777248}, {data = 0x3000000018, obj = 
0x7f7b3300c4c0, res = 140167113393152,
    res2 = 47259417504}, {data = 0xe17740, obj = 0xa3300c4e0, res = 
140167113393184, res2 = 0}, {data = 0xe17740, obj = 0x0, res = 0, res2 = 
17}, {data = 0x7f7b3300ccf0,
    obj = 0x92, res = 32, res2 = 168}, {data = 0x7f7b33797a00, obj = 
0x801000, res = 0, res2 = 140167141433408}, {data = 0x7f7b34496e00, obj 
= 0x7f7b33797a00,
    res = 140167113393392, res2 = 8392704}, {data = 0x0, obj = 
0x7f7b34aca040, res = 140167134932480, res2 = 140167118209654}, {data = 
0x7f7b3300d950, obj = 0x42603d, res = 0,
    res2 = 42949672960}, {data = 0x7f7b3300c510, obj = 0xe17ba0, res = 
14776128, res2 = 43805361568}, {data = 0x7f7b3300ced0, obj = 0x42797e, 
res = 0, res2 = 14777248}, {
    data = 0x174, obj = 0x0, res = 373, res2 = 0}, {data = 0x176, obj = 
0x0, res = 3221225601, res2 = 0}, {data = 0x4008ae89c0000083, obj = 0x0, 
res = 209379655938, res2 = 0}, {
    data = 0x7f7bc0000084, obj = 0x0, res = 3221225602, res2 = 0}, {data 
= 0x7f7b00000012, obj = 0x0, res = 17, res2 = 0}, {data = 0x0, obj = 
0x11, res = 140167113395840,
    res2 = 146}, {data = 0x20, obj = 0xa8, res = 140167121304064, res2 = 
8392704}, {data = 0x0, obj = 0x7f7b34aca040, res = 140167134932480, res2 
= 140167121304064}, {
    data = 0x7f7b3300c680, obj = 0x801000, res = 0, res2 = 
140167141433408}, {data = 0x7f7b34496e00, obj = 0x7f7b334a4276, res = 
140167113398608, res2 = 4350013}, {data = 0x0,
    obj = 0xa00000000, res = 140167113393824, res2 = 14777248}, {data = 
0xe2c010, obj = 0xa3300c730, res = 140167113396320, res2 = 4356478}, 
{data = 0x0, obj = 0xe17ba0,
    res = 372, res2 = 0}, {data = 0x175, obj = 0x0, res = 374, res2 = 
0}, {data = 0xc0000081, obj = 0x0, res = 3221225603, res2 = 0}, {data = 
0xc0000102, obj = 0x0,
    res = 3221225604, res2 = 0}, {data = 0xc0000082, obj = 0x0, res = 
18, res2 = 0}, {data = 0x11, obj = 0x0, res = 0, res2 = 0}, {data = 0x0, 
obj = 0x0, res = 0, res2 = 0}, {
    data = 0x0, obj = 0x0, res = 0, res2 = 0}, {data = 0x0, obj = 0x0, 
res = 0, res2 = 0}, {data = 0x0, obj = 0x0, res = 0, res2 = 0}, {data = 
0x0, obj = 0x0, res = 0,
    res2 = 140167139245116}, {data = 0x0, obj = 0x7f7b34abe118, res = 9, 
res2 = 13}, {data = 0x25bf5fc6, obj = 0x7f7b348b40f0, res = 
140167117719264, res2 = 6}, {
    data = 0x96fd7f, obj = 0x7f7b3300c850, res = 140167113394680, res2 = 
140167117724520}, {data = 0x0, obj = 0x7f7b34abe168, res = 
140167141388288, res2 = 4206037}, {
    data = 0x7f7b3343a210, obj = 0x402058, res = 21474836480, res2 = 
4294968102}, {data = 0x0, obj = 0x7f7b34ac8358, res = 140167113394736, 
res2 = 140167113394680}, {
    data = 0x25bf5fc6, obj = 0x7f7b3300c9e0, res = 0, res2 = 
140167139246910}, {data = 0x0, obj = 0x7f7b34abe168, res = 5, res2 = 
140167139245116}, {data = 0x1,
    obj = 0x7f7b34abe120, res = 10, res2 = 13}, {data = 0x9fd7b9dd, obj 
= 0x7f7b348b40f0, res = 140167139205904, res2 = 140166257704989}, {data 
= 0x27f5ee7,
    obj = 0x7f7b3300c950, res = 140167113394936, res2 = 
140167139205920}, {data = 0x0, obj = 0x7f7b34abe510, res = 
140167141434664, res2 = 140167134874710}, {
    data = 0x7f7b348aa5a8, obj = 0x7f7b34486e30, res = 21474836480, res2 
= 4294967319}, {data = 0x7f7b3428427c, obj = 0x7f7b34ac7cc8, res = 
140167113394992,
    res2 = 140167113394936}, {data = 0x9fd7b9dd, obj = 0x7f7b3300cae0, 
res = 0, res2 = 140167139246910}, {data = 0x0, obj = 0x7f7b34abe510, res 
= 140166257704965, res2 = 0}, {
    data = 0x500000001, obj = 0xffffffff, res = 0, res2 = 8627912}, 
{data = 0x801000, obj = 0x100000000, res = 140167141385488, res2 = 
140167141424328}, {data = 0x7f7b3300cb60,
    obj = 0x7f7b34ac7970, res = 140167134874710, res2 = 0}, {data = 0x5, 
obj = 0x0, res = 140167117743864, res2 = 140167113398608}, {data = 
0x7f7b3300cb00, obj = 0x7f7b348bf592,
    res = 14665264, res2 = 90}, {data = 0x2, obj = 0x7f7b33508255, res = 
140167113398608, res2 = 140167113394944}, {data = 0x801000, obj = 0x0, 
res = 140167141433408,
    res2 = 4966659}, {data = 0x50, obj = 0x23300cb2f, res = 
140167139206472, res2 = 140167141434664}, {data = 0x98, obj = 
0xffffffff, res = 140167113395072, res2 = 2191368}, {
    data = 0x801000, obj = 0x3, res = 140167141433408, res2 = 
140167139245116}, {data = 0x7f7b34486000, obj = 0x7f7b34abe0e8, res = 3, 
res2 = 13}, {data = 0xa896c0a2,
    obj = 0x7f7b348b40f0, res = 140167132758616, res2 = 34}, {data = 
0x2a25b02, obj = 0x7f7b3300cb90, res = 140167113395512, res2 = 
140167132758672}, {data = 0x0,
    obj = 0x7f7b34abe1b0, res = 140167141396480, res2 = 4204852}, {data 
= 0x7f7b34284458, obj = 0x400d38, res = 21474836480, res2 = 4294967302}, 
{data = 0xc008ae67325339e0,
---Type <return> to continue, or q <return> to quit---
    obj = 0x7f7b34ac8358, res = 140167113395568, res2 = 
140167113395512}, {data = 0xa896c0a2, obj = 0x7f7b3300cd20, res = 0, 
res2 = 140167139246910}, {data = 0x0,
    obj = 0x7f7b34abe1b0, res = 140166257704965, res2 = 0}, {data = 0x1, 
obj = 0x101010101010101, res = 140167113395504, res2 = 14776768}, {data 
= 0x7f7b3300cd20,
    obj = 0x13300cd7c, res = 140167141384624, res2 = 140167141426008}, 
{data = 0x7f7b3300cda0, obj = 0x7f7b34ac8000, res = 4204852, res2 = 
4364819}, {data = 0x42994b,
    obj = 0x7f7b3300ccf0, res = 13837501612500713496, res2 = 14658720}, 
{data = 0x3000000018, obj = 0x7f7b3300cda0, res = 140167113395424, res2 
= 4371109}, {
    data = 0x7f7b3300cdc0, obj = 0x3300cd4c, res = 64424509441, res2 = 
4364819}, {data = 0x42994b, obj = 0x7f7b3300cd50, res = 
13837501612500713473, res2 = 14658720}, {
    data = 0x3000000018, obj = 0x7f7b3300ce00, res = 140167132758816, 
res2 = 140167141396480}, {data = 0x7f7b3300ce20, obj = 0xffffffff, res = 
140167113395580, res2 = 8626296}, {
    data = 0x801000, obj = 0x0, res = 140167141433408, res2 = 
140167134932480}, {data = 0x0, obj = 0x7f7b348b871a, res = 
140166257704965, res2 = 0}, {data = 0x7f7b3300cdd0,
    obj = 0x42b2a5, res = 140167132758816, res2 = 140167113398608}}
    ts = {tv_sec = 0, tv_nsec = 0}
    s = (struct qemu_laio_state *) 0xe119c0
#6  0x000000000049e841 in laio_cancel (blockacb=0xe179c0) at linux-aio.c:184
    laiocb = (struct qemu_laiocb *) 0xe179c0
    event = {data = 0x1, obj = 0x4c7fb1, res = 140167113395792, res2 = 
4384262}
    ret = -22
#7  0x000000000049a29b in bdrv_aio_cancel (acb=0xe179c0) at block.c:1792
No locals.
#8  0x000000000058755a in dma_aio_cancel (acb=0xe17940) at 
/usr/src/qemu-kvm-0.12.3/dma-helpers.c:138
    dbs = (DMAAIOCB *) 0xe17940
#9  0x000000000049a29b in bdrv_aio_cancel (acb=0xe17940) at block.c:1792
No locals.
#10 0x0000000000444a0c in ide_dma_cancel (bm=0xe31fd8) at 
/usr/src/qemu-kvm-0.12.3/hw/ide/core.c:2838
No locals.
#11 0x0000000000444f39 in bmdma_cmd_writeb (opaque=0xe31fd8, addr=49152, 
val=8) at /usr/src/qemu-kvm-0.12.3/hw/ide/pci.c:44
    bm = (BMDMAState *) 0xe31fd8
#12 0x00000000004c81bc in ioport_write (index=0, address=49152, data=8) 
at ioport.c:80
    func = (IOPortWriteFunc *) 0x444f0c <bmdma_cmd_writeb>
    default_func = {0x4c81d0 <default_ioport_writeb>, 0x4c8225 
<default_ioport_writew>, 0x4c8282 <default_ioport_writel>}
#13 0x00000000004c8543 in cpu_outb (addr=49152, val=8 '\b') at ioport.c:198
No locals.
#14 0x0000000000429689 in kvm_handle_io (port=49152, 
data=0x7f7b34ab7000, direction=1, size=1, count=1) at 
/usr/src/qemu-kvm-0.12.3/kvm-all.c:535
    i = 0
    ptr = (uint8_t *) 0x7f7b34ab7000 "\b"
#15 0x000000000042bac3 in kvm_run (env=0xe17ba0) at 
/usr/src/qemu-kvm-0.12.3/qemu-kvm.c:964
    r = 0
    kvm = (kvm_context_t) 0xdfb0d0
    run = (struct kvm_run *) 0x7f7b34ab6000
    fd = 15
#16 0x000000000042cdda in kvm_cpu_exec (env=0xe17ba0) at 
/usr/src/qemu-kvm-0.12.3/qemu-kvm.c:1647
    r = 0
#17 0x000000000042d564 in kvm_main_loop_cpu (env=0xe17ba0) at 
/usr/src/qemu-kvm-0.12.3/qemu-kvm.c:1889
    run_cpu = 1
#18 0x000000000042d6a5 in ap_main_loop (_env=0xe17ba0) at 
/usr/src/qemu-kvm-0.12.3/qemu-kvm.c:1939
    env = (struct CPUX86State *) 0xe17ba0
    signals = {__val = {18446744067267100671, 18446744073709551615 
<repeats 15 times>}}
    data = (struct ioperm_data *) 0x0
#19 0x00007f7b3448d3ba in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#20 0x00007f7b3350ffcd in clone () from /lib/libc.so.6
No symbol table info available.
#21 0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) c
Continuing.
kvm: /usr/src/qemu-kvm-0.12.3/hw/ide/internal.h:507: bmdma_active_if: 
Assertion `bmdma->unit != (uint8_t)-1' failed.

Program received signal SIGABRT, Aborted.
0x00007f7b3345cfb5 in raise () from /lib/libc.so.6


Kevin Wolf wrote:
> Am 03.05.2010 23:26, schrieb Peter Lieven:
>   
>> Hi Qemu/KVM Devel Team,
>>
>> i'm using qemu-kvm 0.12.3 with latest Kernel 2.6.33.3.
>> As backend we use open-iSCSI with dm-multipath.
>>
>> Multipath is configured to queue i/o if no path is available.
>>
>> If we create a failure on all paths, qemu starts to consume 100%
>> CPU due to i/o waits which is ok so far.
>>
>> 1 odd thing: The Monitor Interface is not responding any more ...
>>
>> What es a really blocker is that KVM crashes with:
>> kvm: /usr/src/qemu-kvm-0.12.3/hw/ide/internal.h:507: bmdma_active_if: 
>> Assertion `bmdma->unit != (uint8_t)-1' failed.
>>
>> after the multipath has reestablisched at least one path.
>>     
>
> Can you get a stack backtrace with gdb?
>
>   
>> Any ideas? I remember this was working with earlier kernel/kvm/qemu 
>> versions.
>>     
>
> If it works in the same setup with an older qemu version, bisecting
> might help.
>
> Kevin
>
>   

  reply	other threads:[~2010-05-04 11:39 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-03 21:26 [Qemu-devel] Qemu-KVM 0.12.3 and Multipath -> Assertion Peter Lieven
2010-05-04  5:38 ` [Qemu-devel] " André Weidemann
2010-05-04  8:35 ` [Qemu-devel] " Kevin Wolf
2010-05-04 11:38   ` Peter Lieven [this message]
2010-05-04 12:20     ` Kevin Wolf
2010-05-04 13:42       ` Peter Lieven
2010-05-04 14:01         ` Kevin Wolf
2010-05-04 17:07           ` Christoph Hellwig
2010-05-18 11:13             ` Peter Lieven
2010-05-18 12:14               ` Kevin Wolf
2010-05-12 14:01           ` qemu-kvm hangs if multipath device is queing (was: Re: [Qemu-devel] Qemu-KVM 0.12.3 and Multipath -> Assertion) Peter Lieven
2010-05-14  9:26             ` [Qemu-devel] Re: qemu-kvm hangs if multipath device is queing Kevin Wolf
2010-05-18 11:10               ` Peter Lieven
2010-05-18 13:22                 ` Kevin Wolf
2010-05-19  7:29                   ` Christoph Hellwig
2010-05-19  7:48                     ` Kevin Wolf
2010-05-19  8:18                       ` Peter Lieven
2010-05-23 10:30                         ` Peter Lieven
2010-05-08  9:53       ` [Qemu-devel] Qemu-KVM 0.12.3 and Multipath -> Assertion André Weidemann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BE00750.6040804@dlh.net \
    --to=pl@dlh.net \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).