1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
permissions: 0.963
debug: 0.947
graphic: 0.938
architecture: 0.921
semantic: 0.920
risc-v: 0.915
performance: 0.915
device: 0.912
register: 0.912
virtual: 0.909
user-level: 0.906
assembly: 0.902
peripherals: 0.901
arm: 0.896
PID: 0.893
i386: 0.884
boot: 0.881
vnc: 0.875
files: 0.875
kernel: 0.873
socket: 0.862
network: 0.855
TCG: 0.822
KVM: 0.814
hypervisor: 0.809
mistranslation: 0.796
ppc: 0.789
VMM: 0.761
x86: 0.719
[AHCI] crash when running a GNU/Hurd guest
QEMU git hash = 51db2d7cf2
Running guest OS using:
$ gdb --args /extra/qemu/bin/qemu-system-i386 -M q35,accel=kvm -m 4096 -net user,hostfwd=tcp::8888-:22 -net nic -drive id=udisk,file=/dev/sdd,format=raw,if=none -device ide-drive,drive=udisk,bootindex=1 -curses
...
root@zamhurd:~# .ahcisata0 channel 5: setting WDCTL_RST failed for drive 0
Thread 1 "qemu-system-i38" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff4f7bf00 (LWP 590666)]
ahci_commit_buf (dma=0x555557335870, tx_bytes=2048) at ../hw/ide/ahci.c:1462
1462 tx_bytes += le32_to_cpu(ad->cur_cmd->status);
(gdb) bt full
#0 ahci_commit_buf (dma=0x555557335870, tx_bytes=2048)
at ../hw/ide/ahci.c:1462
ad = 0x555557335870
#1 0x0000555555893171 in dma_buf_commit (s=0x555557335930, tx_bytes=2048)
at ../hw/ide/core.c:805
#2 0x00005555558934f8 in ide_dma_cb (opaque=0x555557335930, ret=0)
at ../hw/ide/core.c:887
s = 0x555557335930
n = 4
sector_num = 4491160
offset = 140732794753312
stay_active = false
prep_size = 0
__PRETTY_FUNCTION__ = "ide_dma_cb"
#3 0x0000555555830720 in dma_complete (dbs=0x7ffee83d5120, ret=0)
at ../softmmu/dma-helpers.c:121
__PRETTY_FUNCTION__ = "dma_complete"
#4 0x00005555558307cd in dma_blk_cb (opaque=0x7ffee83d5120, ret=0)
at ../softmmu/dma-helpers.c:139
dbs = 0x7ffee83d5120
cur_addr = 140732794753408
cur_len = 93825013280880
mem = 0x7ffeeccfef00
__PRETTY_FUNCTION__ = "dma_blk_cb"
#5 0x0000555555d92bce in blk_aio_complete (acb=0x7ffee847bbe0)
at ../block/block-backend.c:1412
#6 0x0000555555d92df0 in blk_aio_read_entry (opaque=0x7ffee847bbe0)
at ../block/block-backend.c:1466
acb = 0x7ffee847bbe0
rwco = 0x7ffee847bc08
qiov = 0x7ffee83d5180
__PRETTY_FUNCTION__ = "blk_aio_read_entry"
#7 0x0000555555e85580 in coroutine_trampoline (i0=-398117056, i1=32766)
at ../util/coroutine-ucontext.c:173
arg = {p = 0x7ffee8453740, i = {-398117056, 32766}}
self = 0x7ffee8453740
co = 0x7ffee8453740
fake_stack_save = 0x0
#8 0x00007ffff6544020 in __start_context () at /lib64/libc.so.6
#9 0x00007ffeefdfd680 in ()
#10 0x0000000000000000 in ()
(gdb)
(gdb) l
1457 */
1458 static void ahci_commit_buf(const IDEDMA *dma, uint32_t tx_bytes)
1459 {
1460 AHCIDevice *ad = DO_UPCAST(AHCIDevice, dma, dma);
1461
1462 tx_bytes += le32_to_cpu(ad->cur_cmd->status);
1463 ad->cur_cmd->status = cpu_to_le32(tx_bytes);
1464 }
1465
1466 static int ahci_dma_rw_buf(const IDEDMA *dma, bool is_write)
(gdb) p ad
$1 = (AHCIDevice *) 0x555557335870
(gdb) p ad->cur_cmd
$2 = (AHCICmdHdr *) 0x0
(gdb)
Note: this is using the rump ahci driver.
The QEMU project is currently moving its bug tracking to another system.
For this we need to know which bugs are still valid and which could be
closed already. Thus we are setting the bug state to "Incomplete" now.
If the bug has already been fixed in the latest upstream version of QEMU,
then please close this ticket as "Fix released".
If it is not fixed yet and you think that this bug report here is still
valid, then you have two options:
1) If you already have an account on gitlab.com, please open a new ticket
for this problem in our new tracker here:
https://gitlab.com/qemu-project/qemu/-/issues
and then close this ticket here on Launchpad (or let it expire auto-
matically after 60 days). Please mention the URL of this bug ticket on
Launchpad in the new ticket on GitLab.
2) If you don't have an account on gitlab.com and don't intend to get
one, but still would like to keep this ticket opened, then please switch
the state back to "New" or "Confirmed" within the next 60 days (other-
wise it will get closed as "Expired"). We will then eventually migrate
the ticket automatically to the new system (but you won't be the reporter
of the bug in the new system and thus you won't get notified on changes
anymore).
Thank you and sorry for the inconvenience.
This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:
https://gitlab.com/qemu-project/qemu/-/issues/437
|