summary refs log tree commit diff stats
path: root/results/scraper/box64/1159
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-16 14:55:48 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-07-16 14:55:48 +0200
commit63d2e9d409831aa8582787234cae4741847504b7 (patch)
tree595fae753d2eb293437226eaab2eed208463f132 /results/scraper/box64/1159
parent2843bb65aeaeb86eb89bf3d9690db61b9dc6306e (diff)
downloadqemu-analysis-box64.tar.gz
qemu-analysis-box64.zip
add box64 bug reports box64
Diffstat (limited to 'results/scraper/box64/1159')
-rw-r--r--results/scraper/box64/115975
1 files changed, 75 insertions, 0 deletions
diff --git a/results/scraper/box64/1159 b/results/scraper/box64/1159
new file mode 100644
index 000000000..8140ae0e8
--- /dev/null
+++ b/results/scraper/box64/1159
@@ -0,0 +1,75 @@
+Call to partially implemented dl_iterate_phdr(0x488c80, ***)
+When trying to run CARRION i run into this problem, while it seems like a similar problem (they all have to do with `dl_iterate_phdr`) the first argument is always 0x488c80 but the second argument is ~~either ~~ is any one of the many values i wrote below.

+```

+Call to partially implemented dl_iterate_phdr(0x488c80, 0x1007fe1a8)

+Call to partially implemented dl_iterate_phdr(0x488c80, 0x1007fe4f8)

+

+

+Call to partially implemented dl_iterate_phdr(0x488c80, 0x11907ee88)

+Call to partially implemented dl_iterate_phdr(0x488c80, 0x1007fea38)

+Call to partially implemented dl_iterate_phdr(0x488c80, 0x11907eea8)

+```

+

+the sheer amount of them made me realize i have to write a util program to parse the log to extract all of these pairs.

+

+```

+0x488c80: [0x1007fea58, 0x1007fe0d8, 0x1007fea38, 0x11907f948, 0x11907eea8, 0x1007fe6e8, 0x1007fdd38, 0x1007fe7a8, 0x1007fddf8, 0x1007fe148, 0x11907f5e8, 0x1007febb8, 0x1007fe018, 0x11907ee88, 0x1007fe428, 0x1007fe858]

+```

+

+To understand the mapping, it's supposed to be a list of ARG1: list of all ARG2 arguments that show up with ARG1 inside the `Call to partially implemented dl_iterate_phdr(ARG1, ARG2)` string. It turns out the ARG1 is always the same, so it ended up being just a single list.

+

+If you're interested in the first half of these strings:

+```

+Calling dl_iterate_phdr(0x488C80, 0x1007FE7A8, 0xA8, ...) =>Call to partially implemented dl_iterate_phdr(0x488c80, 0x1007fe7a8)

+Calling dl_iterate_phdr(0x488C80, 0x1007FEBB8, 0x17A6676, ...) =>Call to partially implemented dl_iterate_phdr(0x488c80, 0x1007febb8)

+```

+I suppose I could extract 0xA8 and 0x17A6676 (and the rest of them that show up in the log) if you really want me to, i just figured they werent *that* interesting. The second half seemed much more interesting

+

+

+LOG=2 says this in a number of places, so I'm suspecting it's the root cause of the crash and the game not starting:

+```

+1623|0xe4441e: Calling pthread_cond_wait(0x7FB00328B8, 0x7FB0032890, 0x24, ...) =>1580|0xac350d: Calling pthread_mutex_lock(0x7FB0032890, 0x23780B8, 0x0, ...) => return 0x0

+ ...  =>PltResolver: Addr=0x5353ea60, Slot=0 Return=0x49496d: elf is /storage/roms/ports/DEV/carrion/Carrion (VerSym=0x402dc6)

+            Apply Global R_X86_64_JUMP_SLOT 0x1f38018 with sym=pthread_cond_signal(ver 2: pthread_cond_signal@GLIBC_2.3.2) (0x404b36 -> 0x50160 / box64)

+ return 0x5381D950

+1580|0x49496d: Calling pthread_cond_signal(0x7FB00328B8, 0x0, 0x0, ...) => return 0x0

+1580|0xe44a8b: Calling pthread_mutex_unlock(0x7FB0032890, 0x0, 0x0, ...) => return 0x0

+ return 0x0

+1623|0xe1fe29: Calling pthread_mutex_unlock(0x7FB0032890, 0xE4425B, 0x24, ...) => return 0x0

+1623|0x490b97: Calling memcpy(0x11907F158, 0x11907F2D8, 0xA8, ...) => return 0x11907F158

+1623|0x489602: Calling dl_iterate_phdr(0x488C80, 0x11907EE88, 0xA8, ...) =>Call to partially implemented dl_iterate_phdr(0x488c80, 0x11907ee88)

+ return 0x1

+

+. . .

+

+1623|0x488631: Calling memset(0x11907EBA0, 0x0, 0x230, ...) => return 0x11907EBA0

+1623|0x48a463: Calling memcpy(0x11907E890, 0x11907EBA0, 0x230, ...) => return 0x11907E890

+1623|0x48a463: Calling memcpy(0x11907E890, 0x11907EBA0, 0x230, ...) => return 0x11907E890

+1580|0x490b97: Calling memcpy(0x1007FED28, 0x1007FEEA8, 0xA8, ...) => return 0x1007FED28

+1580|0x489602: Calling dl_iterate_phdr(0x488C80, 0x1007FEA58, 0xA8, ...) =>Call to partially implemented dl_iterate_phdr(0x488c80, 0x1007fea58)

+ return 0x1

+1580|0x488631: Calling memset(0x1007FE750, 0x0, 0x230, ...) => return 0x1007FE750

+1580|0x48a463: Calling memcpy(0x1007FE440, 0x1007FE750, 0x230, ...) => return 0x1007FE440

+1580|0x48a463: Calling memcpy(0x1007FE440, 0x1007FE750, 0x230, ...) => return 0x1007FE440

+1623|0x490b97: Calling memcpy(0x11907F178, 0x11907F2F8, 0xA8, ...) => return 0x11907F178

+1623|0x489602: Calling dl_iterate_phdr(0x488C80, 0x11907EEA8, 0xA8, ...) =>Call to partially implemented dl_iterate_phdr(0x488c80, 0x11907eea8)

+ return 0x1

+1623|0x488631: Calling memset(0x11907EBA0, 0x0, 0x230, ...) => return 0x11907EBA0

+1623|0x48a463: Calling memcpy(0x11907E890, 0x11907EBA0, 0x230, ...) => return 0x11907E890

+1623|0x48a463: Calling memcpy(0x11907E890, 0x11907EBA0, 0x230, ...) => return 0x11907E890

+1580|0x490b97: Calling memcpy(0x1007FED28, 0x1007FEEA8, 0xA8, ...) => return 0x1007FED28

+1580|0x489602: Calling dl_iterate_phdr(0x488C80, 0x1007FEA58, 0xA8, ...) =>Call to partially implemented dl_iterate_phdr(0x488c80, 0x1007fea58)

+ return 0x1

+1580|0x488631: Calling memset(0x1007FE750, 0x0, 0x230, ...) => return 0x1007FE750

+1580|0x48a463: Calling memcpy(0x1007FE440, 0x1007FE750, 0x230, ...) => return 0x1007FE440

+1580|0x48a463: Calling memcpy(0x1007FE440, 0x1007FE750, 0x230, ...) => return 0x1007FE440

+1623|0x485d31: Calling gettimeofday(0x11907F438, 0x0, 0x0, ...) => return 0x0

+1623|0x450d69: Calling memset(0x1008CC2C0, 0x0, 0x2000, ...) => return 0x1008CC2C0

+1623|0x494586: Calling __errno_location(0x11907F4D8, 0x11907F520, 0x8, ...) => return 0x7FB6A7C900

+1580|0x490b97: Calling memcpy(0x1007FED28, 0x1007FEEA8, 0xA8, ...) => return 0x1007FED28

+1623|0x495f60: Calling fcntl(0x2, 0x406, 0x0, ...) =>1580|0x489602: Calling dl_iterate_phdr(0x488C80, 0x1007FEA58, 0xA8, ...) =>Call to partially implemented dl_iterate_phdr(0x488c80, 0x1007fea58)

+ return 0x1D

+ return 0x1

+ 

+ . . .

+```
\ No newline at end of file