diff options
Diffstat (limited to '')
| -rw-r--r-- | results/scraper/box64/205 | 139 | ||||
| -rw-r--r-- | results/scraper/box64/2053 | 81 | ||||
| -rw-r--r-- | results/scraper/box64/2058 | 10 |
3 files changed, 230 insertions, 0 deletions
diff --git a/results/scraper/box64/205 b/results/scraper/box64/205 new file mode 100644 index 000000000..f29309aef --- /dev/null +++ b/results/scraper/box64/205 @@ -0,0 +1,139 @@ +SIGSEGV while trying to run a Starbound server +Attempting to run Starbound server via box64 results in the following error: + +``` +Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 +Box64 with Dynarec v0.1.7 5e01769 built on Jan 6 2022 12:32:44 +Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/ +Using default BOX64_PATH: ./:bin/ +Counted 26 Env var +Looking for starbound_server +Using native(wrapped) libpthread.so.0 +Using native(wrapped) libdl.so.2 +Using native(wrapped) librt.so.1 +Using native(wrapped) libm.so.6 +Using native(wrapped) libc.so.6 +Using native(wrapped) ld-linux-x86-64.so.2 +[Info] Root: Preparing Root... +[Info] Root: Done preparing Root. +[Info] Root: Scanning for asset sources in directory '../assets/' +[Info] Root: Loaded Configuration in 0.00431899 seconds +[Info] Root: Scanning for asset sources in directory '../mods/' +[Warn] Root: Unrecognized file in asset directory 'mods_go_here', skipping +[Info] Root: Detected asset source named 'base' at '../assets/packed.pak' +[Info] Root: Detected unnamed asset source at '../assets/user' +[Info] Loading assets from: '../assets/packed.pak' +[Info] Loading assets from: '../assets/user' +[Info] Assets digest is 531f0b8469832a566d23a0b9870ed717c63291164883670d0ee17086a100d3cd +[Info] Root: Loaded Assets in 2.57193 seconds +[Info] Root: Loaded NameGenerator in 2.5906 seconds +[Info] Root: Loaded PlantDatabase in 0.166204 seconds +[Info] Root: Loaded ObjectDatabase in 0.422108 seconds +[Info] Root: Loaded ProjectileDatabase in 0.247161 seconds +[Info] Root: Loaded NpcDatabase in 0.115781 seconds +[Info] Root: Loaded StagehandDatabase in 0.00437271 seconds +[Info] Root: Loaded VehicleDatabase in 0.0116964 seconds +[Info] Root: Loaded PlayerFactory in 0.0126771 seconds +[Info] Root: Loaded MonsterDatabase in 0.213693 seconds +[Info] Root: Loaded VersioningDatabase in 0.0186293 seconds +[Info] Root: Loaded EntityFactory in 0.0676156 seconds +[Info] Root: Loaded ParticleDatabase in 0.120127 seconds +[Info] Root: Loaded ImageMetadataDatabase in 0.000233082 seconds +[Info] Root: Loaded MaterialDatabase in 0.343645 seconds +[Info] Root: Loaded TerrainDatabase in 0.0103703 seconds +[Info] Root: Loaded BiomeDatabase in 0.0542121 seconds +[Info] Root: Loaded LiquidsDatabase in 0.00512432 seconds +[Info] Root: Loaded StatusEffectDatabase in 0.012025 seconds +[Info] Root: Loaded DamageDatabase in 0.37963 seconds +[Info] Root: Loaded EffectSourceDatabase in 0.00943723 seconds +[Info] Root: Loaded FunctionDatabase in 0.00904939 seconds +[Info] Root: Loaded TreasureDatabase in 0.0450229 seconds +[Info] Root: Loaded DungeonDefinitions in 0.367926 seconds +[Info] Root: Loaded TilesetDatabase in 0.000877087 seconds +[Info] Root: Loaded StatisticsDatabase in 0.00574865 seconds +[Info] Root: Loaded EmoteProcessor in 0.00117221 seconds +[Info] Root: Loaded SpeciesDatabase in 0.0157245 seconds +[Info] Root: Loaded QuestTemplateDatabase in 0.0250446 seconds +[Info] Root: Loaded AiDatabase in 0.00830367 seconds +[Info] Root: Loaded TechDatabase in 0.00404727 seconds +[Info] Root: Loaded CodexDatabase in 0.00963524 seconds +[Info] Root: Loaded BehaviorDatabase in 0.40064 seconds +[Info] Root: Loaded DanceDatabase in 0.00742086 seconds +[Info] Root: Loaded SpawnTypeDatabase in 0.00853963 seconds +[Info] Root: Loaded RadioMessageDatabase in 0.00979976 seconds +[Info] Root: Writing runtime configuration to '../storage/starbound_server.config' +[Info] Root: Loaded ItemDatabase in 5.16862 seconds +[Info] Root: Loaded CollectionDatabase in 3.6803 seconds +99109|Double SIGSEGV (code=1, pc=0xffff90ba5f3c, addr=0xffff00000002)! +99110|SIGSEGV @0xffff90ba5f3c (???(/lib/aarch64-linux-gnu/libc.so.6/0xffff90ba5f3c)) (x64pc=(nil)/???:"???", rsp=0xffff62000000, stack=0xffff61800000:0xffff62000000 own=0xffff61800000 fp=(nil)), for accessing 0xffff00000002 (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil) +Segmentation fault (core dumped) +``` + +If I provide libc.so.6 from an x86-64 installation and enable lib emulation, the output turns into this: + +``` +Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 +Box64 with Dynarec v0.1.7 5e01769 built on Jan 6 2022 12:32:44 +Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/ +BOX64 will force the used of emulated libs for libc.so.6 +Using default BOX64_PATH: ./:bin/ +Counted 26 Env var +Looking for starbound_server +Using native(wrapped) libpthread.so.0 +Using native(wrapped) libdl.so.2 +Using native(wrapped) librt.so.1 +Using native(wrapped) libm.so.6 +Using emulated libc.so.6 +Using native(wrapped) ld-linux-x86-64.so.2 +Error: Global Symbol __libpthread_freeres not found, cannot apply R_X86_64_GLOB_DAT @0xffff9dd3edd8 ((nil)) in libc.so.6 +Error: Global Symbol _dl_starting_up not found, cannot apply R_X86_64_GLOB_DAT @0xffff9dd3ef40 ((nil)) in libc.so.6 +Error: Global Symbol __libdl_freeres not found, cannot apply R_X86_64_GLOB_DAT @0xffff9dd3ef88 ((nil)) in libc.so.6 +Error: Global Symbol _dl_argv not found, cannot apply R_X86_64_GLOB_DAT @0xffff9dd3efe8 ((nil)) in libc.so.6 +Warning, don't know of to handle rela #7 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #8 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #9 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #10 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #11 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #12 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #13 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #14 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #15 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #16 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #17 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #18 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #19 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #20 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #21 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #22 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #23 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #24 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #25 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #26 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #27 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #28 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #29 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #30 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #31 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #32 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #33 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #34 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #35 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #36 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #37 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #38 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #39 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #40 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #41 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #42 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #43 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #44 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #45 type: R_X86_64_IRELATIVE on +Warning, don't know of to handle rela #46 type: R_X86_64_IRELATIVE on +99105|SIGSEGV @0x64935a8c (???(box64/0x64935a8c)) (x64pc=0x25132/???:"???", rsp=0xffff9cad9220, stack=0xffff9c2da000:0xffff9cada000 own=(nil) fp=(nil)), for accessing 0xffffffff (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil) +Segmentation fault (core dumped) +``` + +Interestingly enough, I did manage to successfully start it up once (the first time), but after that every consecutive launch ended in SIGSEGV. + +OS used: Ubuntu 20.04. +CPU used: Ampere Altra Q80. \ No newline at end of file diff --git a/results/scraper/box64/2053 b/results/scraper/box64/2053 new file mode 100644 index 000000000..685ab078a --- /dev/null +++ b/results/scraper/box64/2053 @@ -0,0 +1,81 @@ +[LA64_DYNAREC] Linux x64 jdk23 infinite loop on not support AMCAS platform +Hi, + +Testcase: + +``` +./build/box64 /yourpath/jdk-23/bin/java -version +``` + +Reproduced infinite loop[2] on not support `AMCAS` platform, for example: 3A5000. But 3A6000, which supports `AMCAS` and `AMBH`, will not reproduce this issue. The root cause is `LL.W/SC.W` not equivalent to `cmpxchg8` so `native_lock_write_b` AKA `la64_lock_cas_b_slow` always return `1`[3]. We often use `AMCAS` to codegen the `compareAndExchangeB` node, but there is `predicate(UseAMCAS)` restrict[4], and there is also `UseAMCAS == true` assert[5] for `cmpxchg8` macroAssembler. + +Build options: +``` +cmake .. -DLARCH64=ON -DLARCH64_DYNAREC=ON +``` + +[1] Linux/x64 OpenJDK: https://download.java.net/java/GA/jdk23.0.1/c28985cbf10d4e648e4004050f8781aa/11/GPL/openjdk-23.0.1_linux-x64_bin.tar.gz + +[2] +``` +22263|0x3f01ca9736: Calling pthread_mutex_lock(0x3F0254EBC0, 0x3F0254EBC0, 0xFFFFFFFD, ...) => return 0x0 +22263|0x3f01ca9893: Calling __tls_get_addr(0x3F024DB3D8, 0x64, 0xFFFFFFFD, ...) => return 0xFFD0010B18 +22263|0x3f01d01f53: Calling clock_gettime(0x1, 0xFFE6BBBE00, 0xFFFFFFFD, ...) => return 0x0 +22263|0x3f01d01ff7: Calling pthread_cond_timedwait(0x3F0254EBE8, 0x3F0254EBC0, 0xFFE6BBBDF0, ...) =>^C +Thread 1 "java" received signal SIGINT, Interrupt. +0x000000fff7d196f8 in __GI___pthread_timedjoin_ex (threadid=1099340214128, threadid@entry=<error reading variable: value has been optimized out>, thread_return=0xfff7cdabf8, thread_return@entry=<error reading variable: value has been optimized out>, abstime=0x0, abstime@entry=<error reading variable: value has been optimized out>, block=<error reading variable: value has been optimized out>) at pthread_join_common.c:89 + +(gdb) info threads + Id Target Id Frame +* 1 Thread 0xfff7ced3c0 (LWP 22237) "java" 0x000000fff7d196f8 in __GI___pthread_timedjoin_ex (threadid=1099340214128, threadid@entry=<error reading variable: value has been optimized out>, thread_return=0xfff7cdabf8, thread_return@entry=<error reading variable: value has been optimized out>, abstime=0x0, abstime@entry=<error reading variable: value has been optimized out>, block=<error reading variable: value has been optimized out>) at pthread_join_common.c:89 + 2 Thread 0xfff5c86f70 (LWP 22244) "java" 0x0000000034845cd8 in cmp8 (emu=emu@entry=0x368054a0, d=100 'd', s=s@entry=100 'd') at /home/zhaixiang/repo/box64/src/emu/x64primop.c:326 + 3 Thread 0xfff4a62f70 (LWP 22258) "GC Thread#0" futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0xfff00ab6a8) at ../sysdeps/unix/sysv/linux/futex-internal.h:205 + 4 Thread 0xfff4436f70 (LWP 22259) "G1 Main Marker" futex_wait_cancelable (private=0, expected=0, futex_word=0x3f0254f310) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 + 5 Thread 0xffe7ffef70 (LWP 22260) "G1 Conc#0" futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0xfff00c3198) at ../sysdeps/unix/sysv/linux/futex-internal.h:205 + 6 Thread 0xffe7562f70 (LWP 22261) "G1 Refine#0" futex_wait_cancelable (private=0, expected=0, futex_word=0x3f0254f310) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 + 7 Thread 0xffe6f56f70 (LWP 22262) "G1 Service" futex_wait_cancelable (private=0, expected=0, futex_word=0x3f0254f310) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 + 8 Thread 0xffe66b6f70 (LWP 22263) "VM Periodic Tas" futex_reltimed_wait_cancelable (private=0, reltime=0xffe66b60b0, expected=0, futex_word=0x3f0254ec10) at ../sysdeps/unix/sysv/linux/futex-internal.h:142 + 9 Thread 0xffe540af70 (LWP 22303) "VM Thread" futex_wait_cancelable (private=0, expected=0, futex_word=0x3f0254da10) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 +(gdb) thread 2 +[Switching to thread 2 (Thread 0xfff5c86f70 (LWP 22244))] +#0 0x0000000034845cd8 in cmp8 (emu=emu@entry=0x368054a0, d=100 'd', s=s@entry=100 'd') at /home/zhaixiang/repo/box64/src/emu/x64primop.c:326 +326 RESET_FLAGS(emu); +(gdb) bt +#0 0x0000000034845cd8 in cmp8 (emu=emu@entry=0x368054a0, d=100 'd', s=s@entry=100 'd') at /home/zhaixiang/repo/box64/src/emu/x64primop.c:326 +#1 0x0000000034f08bf4 in RunF0 (emu=emu@entry=0x368054a0, rex=..., rex@entry=..., addr=<optimized out>) at /home/zhaixiang/repo/box64/src/emu/x64runf0.c:303 +#2 0x0000000034ee3d3c in Run (emu=emu@entry=0x368054a0, step=<optimized out>, step@entry=1) at /home/zhaixiang/repo/box64/src/emu/x64run.c:1912 +#3 0x0000000034831da4 in DynaRun (emu=emu@entry=0x368054a0) at /home/zhaixiang/repo/box64/src/dynarec/dynarec.c:217 +#4 0x00000000348602fc in pthread_routine (p=0x367ada10) at /home/zhaixiang/repo/box64/src/libtools/threads.c:257 +#5 0x000000fff7d182b0 in start_thread (arg=<optimized out>) at pthread_create.c:486 +#6 0x000000fff7ef5744 in __thread_start () at ../sysdeps/unix/sysv/linux/loongarch/clone.S:89 +``` + +[3] +``` +... + case 0xB0: /* CMPXCHG Eb,Gb */ + CHECK_FLAGS(emu); + nextop = F8; + GETGB; + GETEB(0); +#if defined(DYNAREC) && !defined(TEST_INTERPRETER) + do { + tmp8u = native_lock_read_b(EB); + cmp8(emu, R_AL, tmp8u); + if(ACCESS_FLAG(F_ZF)) { +=> tmp32s = native_lock_write_b(EB, GB); + } else { + R_AL = tmp8u; + tmp32s = 0; + } + } while(tmp32s); +#else +... +``` + +[4] `predicate(UseAMCAS)` in `compareAndExchangeB` node: https://github.com/loongson/jdk/blob/loongarch-port/src/hotspot/cpu/loongarch/loongarch_64.ad#L11591 + +[5] `assert(UseAMCAS == true, "UseAMCAS == true")` in `cmpxchg8` macroAssembler: https://github.com/loongson/jdk/blob/loongarch-port/src/hotspot/cpu/loongarch/macroAssembler_loongarch.cpp#L1707 + +Thanks, +Leslie Zhai \ No newline at end of file diff --git a/results/scraper/box64/2058 b/results/scraper/box64/2058 new file mode 100644 index 000000000..a201863d1 --- /dev/null +++ b/results/scraper/box64/2058 @@ -0,0 +1,10 @@ +Hmm help optimize this game? + + +Do you have idea why this game struggling to run? + +Its a simple unity 2d game :'( im using proot frost winlator with latest box64. Other info is already at the overlay. + + + +The fps drop after u on the field like on screenshot \ No newline at end of file |