summary refs log tree commit diff stats
path: root/results/scraper/box64/1159
blob: 8140ae0e80b1a4e4e6d494b4c1b73414925535f6 (plain) (blame)
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
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
 
 . . .
```