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
|
Strange SIGSEGV error on application exit
I am using Box64 to run [AlphaVM-Basic](https://emuvm.com/), a commercial DEC Alpha emulator, under Fedora Rawhide in a VM on a Mac mini.
Fedora reports
```
$ uname -a
Linux minime-fedora 6.1.0-65.fc38.aarch64 #1 SMP PREEMPT_DYNAMIC Mon Dec 12 18:29:36 UTC 2022 aarch64 GNU/Linux
$ cat /etc/os-release
NAME="Fedora Linux"
VERSION="38 (Workstation Edition Prerelease)"
ID=fedora
VERSION_ID=38
VERSION_CODENAME=""
PLATFORM_ID="platform:f38"
PRETTY_NAME="Fedora Linux 38 (Workstation Edition Prerelease)"
```
After applying the workaround from issue #485, I'm able to run my emulated Alpha system. However, when I shutdown the emulator, I get the `Strange SIGSEGV` error shown below.
```
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Cores:2
Params database has 11 entries
Box64 with Dynarec v0.2.1 75083907 built on Dec 18 2022 14:46:17
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 47 Env var
Looking for /usr/bin/alphavm_basic
argv[1]="beta.emu"
Rename process to "alphavm_basic"
Using emulated /lib/x86_64-linux-gnu/libpcap.so.1
Using native(wrapped) libz.so.1
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using emulated /lib/x86_64-linux-gnu/libibverbs.so.1
Using emulated /lib/x86_64-linux-gnu/libnl-route-3.so.200
Using emulated /lib/x86_64-linux-gnu/libnl-3.so.200
2022-12-20 16:21:36.019: alphavm: AlphaVM-Basic 1.5.76
<alphavm log messages elided...>
2022-12-20 16:37:54.004: alphavm: completed
2022-12-20 16:37:54.007: alphavm.system.iso.unit0.disk.server: close disk
2022-12-20 16:37:54.007: alphavm.system.dka0.unit0.disk.server: close disk
2022-12-20 16:37:54.027: alphavm.license.rpc: read zero return
refreshProtection(0x5b090010): 0x5b090000/0x7 (ret=-1/Permission denied)
Strange SIGSEGV with Access error on 0x5b090010 for 0x5b090010, db=0xffff97457cf8, prot=0x7 (old_addr=(nil))
refreshProtection(0x5b090010): 0x5b090000/0x7 (ret=-1/Permission denied)
refreshProtection(0x5b090010): 0x5b090000/0x7 (ret=-1/Permission denied)
Strange SIGSEGV with Access error on 0x5b090010 for 0x5b090010, db=0xffff97457cf8, prot=0x7 (old_addr=0x5b090010)
Last calls
2437|0xffff9b2bec0c: Calling __memcmpeq (/lib64/libc.so.6)(0x5AF46748, 0x5AF46748, 0x8, ...) => return 0x0
2437|0x411df0: Calling __memcmpeq (/lib64/libc.so.6)(0x5AF46698, 0x5AF46748, 0x8, ...) => return 0xFFFFFFFF
2437|0x411c65: Calling free (/usr/bin/alphavm_basic.1.5.62)(0x5AF46780, 0xFFFF9AE27FF8, 0x0, ...) => return 0x1
2437|0x410266: Calling strcmp (/lib64/libc.so.6)("N3axp8ds10_616E", "N3axp8ds10_616E") => return 0x0
2437|0x410283: Calling strcmp (/lib64/libc.so.6)("N3axp8ds10_616E", "N3axp8ds10_616E") => return 0x0
2437|0x40e6e1: Calling strcmp (/lib64/libc.so.6)("N3axp8ds10_466E", "N3axp8ds10_616E") => return 0xFFFFFFFFFFFFFF81
2437|0x411cc9: Calling free (/usr/bin/alphavm_basic.1.5.62)(0x5AF467C0, 0x5AF466F0, 0x0, ...) => return 0x5AF467C0
2437|0x612bc5: Calling my_pthread_mutex_destroy (/usr/bin/alphavm_basic.1.5.62)(0xCCF658, 0x7D2380, 0x5AF46CD8, ...) => return 0x0
2437|0x612c8c: Calling free (/usr/bin/alphavm_basic.1.5.62)(0x5AF46730, 0xFFFF9AE28047, 0x5AF46740, ...) => return 0x0
2437|0xffff9b2bec0c: Calling __memcmpeq (/lib64/libc.so.6)(0x5AF46698, 0x5AF46698, 0x8, ...) => return 0x0
2437|0xffff9b2bec0c: Calling __memcmpeq (/lib64/libc.so.6)(0x5AF46698, 0x5AF46698, 0x8, ...) => return 0x0
2437|0x41194c: Calling free (/usr/bin/alphavm_basic.1.5.62)(0x5AF466B0, 0x0, 0x0, ...) => return 0x5AF46698
2437|0x410266: Calling strcmp (/lib64/libc.so.6)("N3axp8ds10_466E", "N3axp8ds10_466E") => return 0x0
2437|0x410283: Calling strcmp (/lib64/libc.so.6)("N3axp8ds10_466E", "N3axp8ds10_466E") => return 0x0
2437|0x411b63: Calling free (/usr/bin/alphavm_basic.1.5.62)(0x5AF466F0, 0x5AF466F0, 0xCD1608, ...) => return 0x5AF466F0
2437|0xffff9b2bec0c: Calling __memcmpeq (/lib64/libc.so.6)(0x5AF46748, 0x5AF46748, 0x8, ...) => return 0x0
2437|SIGSEGV @0x5b090010 (???(0x5b090010)) (x64pc=0x4128f1//usr/bin/alphavm_basic.1.5.62:"/usr/bin/alphavm_basic.1.5.62/_ZN3frm11meta_objectIN3axp8ds10_466EN3emu6systemEED1Ev + 49", rsp=0xffff9ae28048, stack=0xffff9a629000:0xffff9ae29000 own=(nil) fp=(nil)), for accessing 0x5b090010 (code=2/prot=7), db=0xffff97457cf8(0x5b090010:0x5b090078/0x4128f1:0x412904//usr/bin/alphavm_basic.1.5.62/_ZN3frm11meta_objectIN3axp8ds10_466EN3emu6systemEED1Ev + 49:clean, hash:57b02bf7/57b02bf7) handler=(nil)
RAX:0x000000005af46cd8 RCX:0x0000000000000001 RDX:0x000000005af46cd0 RBX:0x0000000000ccf6a0
RSP:0x0000ffff9ae28048 RBP:0x0000000000ccf6b8 RSI:0x000000005af46cd8 RDI:0x000000005af46cd0
R8:0x0000000000000001 R9:0x000000005af467c0 R10:0x0000000000800f78 R11:0x0000000000000008
R12:0x0000000000000000 R13:0x0000000000000000 R14:0x0000000000000000 R15:0x0000000000000000
RSP-0x20:0x0000000000000000 RSP-0x18:0x0000000000000000 RSP-0x10:0x0000000000000000 RSP-0x08:0x00000000004128f1
RSP+0x00:0x0000000000000000 RSP+0x08:0x0000000000000000 RSP+0x10:0x0000ffff9ae28068 RSP+0x18:0x00000000000300c0
```
|