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
|
[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
[[!tag open_issue_gnumach]]
Running GNU Mach in VirtualBox crashes during initialization.
IRC, freenode, #hurd, 2011-08-15
<BlueT_> HowTo Reproduce: 1) Use `reboot` to reboot the system. 2) Once
you see the Grub menu, turn off the debian hurd box. 3) Let the box boot
normally, and wait for the error/crash/reboot. 4) The error/crash will
happen twice and it's reboot automatically. The 3rd boot will success.
<BlueT_> root@dhurd:/boot# addr2line -f -e gnumach-1.3.99-486-dbg-copy 0x106c93 0x1556a5 0x152c54
<BlueT_> copyoutmsg
<BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../i386/i386/locore.S:1289
<BlueT_> exec_load
<BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../kern/elf-load.c:80
<BlueT_> user_bootstrap
<BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../kern/bootstrap.c:756
i386/i386/locore.S:1289 is
movl $USER_DS,%eax /* use user data segment for accesses */
=> mov %ax,%es
State is
cs: 0x8
ds: 0x10
es: 0x10
fs: 0
gs: 0
ss: 0x10
eax: 0x1f
ecx: 0x8048000
edx: 0x15fb7f
ebx: 0x1001000
esp: 0x75e47e08
ebp: 0x75e47e6c
esi: 0x1002000
edi: 0x8048000
eip: 0x106c93
efl: 0x10206
<youpi> oh, wait, it's not even the data access which poses problem
<youpi> but the use of $USER_DS
<youpi> ew
<youpi> looks like a gdt initialization emulation issue in virtualbox...
<BlueT_> just found that at the second crash, the address is different
<BlueT_> 2nd time:
<BlueT_> addr2line -f -e gnumach-1.3.99-486-dbg-copy 0x1068bd 0x152c74
<BlueT_> _kret_popl_es
<BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../i386/i386/locore.S:527
<BlueT_> user_bootstrap
<BlueT_> /home/buildd/build/chroot-sid/home/buildd/byhand/gnumach/build-dbg/../kern/bootstrap.c:765
i386/i386/locore.S:527 is:
_return_from_kernel:
_kret_popl_gs:
popl %gs /* restore segment registers */
_kret_popl_fs:
popl %fs
_kret_popl_es:
=> popl %es
_kret_popl_ds:
cs: 0x8
ds: 0x10
es: 0x10
fs: 0
gs: 0
ss: 0x10
eax: 0x106c95
ecx: 0x6aab096c
edx: 0x106cec
ebx: 0x75e47f04
esp: 0x75e47f0c
ebp: 0x75e47fac
esi: 0x75e47f8c
edi: 0x7fffff3c
eip: 0x1068bd
efl: 0x10216
<youpi> looks again like a $USER_DS issue
<youpi> what's interesting is that that one means that $USER_DS did load in
%es fine at least once
<youpi> and it's the reload that fails
|