DFHack / dfhack

Memory hacking library for Dwarf Fortress and a set of tools that use it
Other
1.88k stars 478 forks source link

0.50.x box64 support (Linux on ARM) #3831

Open cocona20xx opened 1 year ago

cocona20xx commented 1 year ago

See https://github.com/ptitSeb/box64/issues/939

While the vanilla game runs fine under box64, adding DFHack causes some issues, such as:

https://paste.ee/p/BrRVN contains sdout and sderr logs relevant to everything except for the last bullet point from my machine (Apple Silicon Mac Mini, M1 Gen) when run under Asahi Fedora Remix.

lethosor commented 1 year ago

Regarding the console issues: How are you launching DFHack? If you're not running DFHack from an existing terminal, can you try that?

The overlay issue is something failing in our code - will take a look.

For stonesense, unfortunately the log does not have enough detail. Is there any way you can get a more detailed error message? Does box64 have an implementation of ldd that you could use to see what libraries it's trying to load, and if any are failing to load?

cocona20xx commented 1 year ago

DFHack is being run from a console, yes, as doing so is the main way to run x86-64 programs via box64—I launch df directly via box64 dwarfort in the folder containing the df files, and both dfhack and df launch from that console. Do you mean launching DF and then DFHack after that? If that's what's meant, I'm not sure how that would be done.

lethosor commented 1 year ago

I did mean launching DFHack from the command line, not after DF starts.

I'm curious - does box64 dfhack do anything? We configure a few things in the dfhack script that launching via dwarfort does not, but most of that should no longer be required. The only things I see from a quick check are a couple stty-related commands.

lethosor commented 1 year ago

For the overlay issue: can you paste the output of this command? You can probably use the in-game launcher to run it if your OS terminal isn't working (Ctrl-Shift-P).

lua ~dfhack.internal.getVTable('viewscreen_adopt_regionst')

If you can't get gui/launcher to work (I'm not sure if it has an indirect dependency on overlay), you could run the command with dfhack-run in another shell, hopefully. You'll need to quote it:

./dfhack-run lua "~dfhack.internal.getVTable('viewscreen_adopt_regionst')"
lethosor commented 1 year ago

I also just noticed you're using the Itch build, which gets a bit less test coverage. I'm curious if the same issues occur in the Classic build of DF.

seeschloss commented 1 year ago

I have no idea what your command should output, but here's my result, using the "Classic" build:

32631776

I have to run it as ./dfhack-run lua... in a separate terminal, since I my (initial) terminal doesn't work, and I can't type a ~ in the in-game console.

For the other question, box64 dfhack doesn't make any difference for me.

As to loaded libraries, there's no ldd but the equivalent is box64's log of which libraries it emulates, and for which libraries it uses a native (arm64) version ("Using emulated...") etc in the stdout log, I suppose the relevant lines for @cocona20xx is:

Error loading needed lib liballegro.so.5.0
Error loading needed lib liballegro_primitives.so.5.0
Error loading needed lib liballegro_font.so.5.0
Error loading needed lib liballegro_image.so.5.0
Error loading needed lib liballegro_ttf.so.5.0
Error loading needed lib liballegro_color.so.5.0
Error loading one of needed lib
Error initializing needed lib /home/rin/Desktop/df50_10_linux_dfhack/hack/plugins/stonesense.plug.so

stonesense does work for me though (or at least it opens an overlay with an isometric view, but I never used it more than that so I can't say if it works as intended) under the Arch version of Asahi Linux. No special message, just:

Stonesense launched
Using allegro version 5.0.10 r1

But I don't know why Allegro can't be loaded on @cocona20xx's system. On my own logs I don't have all these lines about loading dfhack's plugin .so files, so I'm not sure. Maybe I don't have the right log level either on dfhack or box64, but I don't know the exact command run by @cocona20xx.

I've been wondering if it would be possible to build dfhack itself for ARM64 (even if DF stays x86_64) but it probably doesn't matter if dfhack is run through box64 or not (performance wise).

lethosor commented 1 year ago

and I can't type a ~ in the in-game console.

If resetting your DF keybindings and trying another keyboard layout doesn't fix this, I'd rather figure that out in a new issue. It should work, and does work for me on Linux (Ubuntu, x86_64).

I have no idea what your command should output, but here's my result, using the "Classic" build:

32631776

For classic, that does match the decimal value of https://github.com/DFHack/df-structures/blob/50.10-r1/symbols.xml#L7027, so that part is fine.

Since you're a different person, I want to clarify: is the overlay plugin loading for you, or not? If not, do you see this same error message in your stderr.log?

Invoking: enable overlay
VMethodInterposeLinkBase::apply(1): adopt_region_overlay::logic: set_vmethod_ptr failed
Could not enable plugin: overlay

If you do, then the only other possible cause I can see is that mprotect() is failing, specifically in here: https://github.com/DFHack/dfhack/blob/b0bbe2bd5af35839c1274833688059d41570c95b/library/VTableInterpose.cpp#L222

which, ultimately, calls mprotect here: https://github.com/DFHack/dfhack/blob/b0bbe2bd5af35839c1274833688059d41570c95b/library/Process-linux.cpp#L194

There doesn't seem to be anything mentioning this in stderr.log. Is box64 logging anything related to mprotect to the terminal?

I've been wondering if it would be possible to build dfhack itself for ARM64 (even if DF stays x86_64) but it probably doesn't matter if dfhack is run through box64 or not (performance wise).

I don't think this is possible/feasible, since DFHack is effectively a library loaded by DF. We also have a bit of x86-specific code in VTableInterpose.cpp (ironically related to the error you're seeing, but I don't think it is the source of the error).

seeschloss commented 1 year ago

Well a few things, I had actually messed things up a bit (because the M1 was not with me and I was running things remotely through Xvnc) and I had not read the right stderr/stdout. Now I see the same error messages:

Invoking: enable overlay
VMethodInterposeLinkBase::apply(1): adopt_region_overlay::logic: set_vmethod_ptr failed
Could not enable plugin: overlay

but also:

Invoking: enable faststart
VMethodInterposeLinkBase::apply(1): prep_hook::logic: set_vmethod_ptr failed
Could not enable plugin: faststart

which doesn't seem to appear in @cocona20xx's logs.

Nothing related to mprotect anywhere though. I can see it's implemented (wrapped) by box64 but I can't tell if there's a problem with that.

I noticed something else though, another function not implemented by box64 (c32rtomb) that was breaking the console, I made a pull request for that: https://github.com/ptitSeb/box64/pull/1008

As for the ~ DF has always been fiddly with dead keys and keys requiring AltGr, I don't think I've ever been able to type a ~ in DF at all, it's not really an "issue", not related to dfhack in any case.

seeschloss commented 1 year ago

Well after some printf-debugging I was able to find something that might help, although I'm not competent enough to fix it myself.

This test fails:

https://github.com/DFHack/dfhack/blob/b0bbe2bd5af35839c1274833688059d41570c95b/library/Core.cpp#L2787

and commenting out the whole while makes dfhack run apparently fine, with the overlay working.

lethosor commented 1 year ago

Ok, so there are likely some non-contiguous memory ranges mapped to the DF executable. I'm not sure exactly why that matters. Can you paste the output of devel/lsmem dwarfort?

seeschloss commented 1 year ago

No output for this, but I suppose it's because the memory is actually owned by box64. I used my home dir as filter instead, although the libs probably don't matter:

[DFHack]# devel/lsmem seeschloss
34800000-35608000 r-xp /home/seeschloss/src/box64/build/box64
35614000-356ec000 r--p /home/seeschloss/src/box64/build/box64
356ec000-356f4000 rw-p /home/seeschloss/src/box64/build/box64
105000000-105038000 rwxp /home/seeschloss/df/hack/liballegro.so.5.0.10
105038000-10503c000 r-xp /home/seeschloss/df/hack/liballegro.so.5.0.10
10503c000-10505c000 rwxp /home/seeschloss/df/hack/liballegro.so.5.0.10
10505c000-105064000 r-xp /home/seeschloss/df/hack/liballegro.so.5.0.10
105064000-10509c000 rwxp /home/seeschloss/df/hack/liballegro.so.5.0.10
10509c000-1050a0000 r-xp /home/seeschloss/df/hack/liballegro.so.5.0.10
1050a0000-1050e8000 rwxp /home/seeschloss/df/hack/liballegro.so.5.0.10
105300000-105304000 r-xp /home/seeschloss/df/hack/liballegro_primitives.so.5.0.10
105304000-105310000 rwxp /home/seeschloss/df/hack/liballegro_primitives.so.5.0.10
105510000-105514000 r-xp /home/seeschloss/df/hack/liballegro_font.so.5.0.10
105514000-105518000 rwxp /home/seeschloss/df/hack/liballegro_font.so.5.0.10
105720000-105724000 r-xp /home/seeschloss/df/hack/liballegro_image.so.5.0.10
105724000-10572c000 rwxp /home/seeschloss/df/hack/liballegro_image.so.5.0.10
105930000-105934000 r-xp /home/seeschloss/df/hack/liballegro_ttf.so.5.0.10
105b40000-105b44000 r-xp /home/seeschloss/df/hack/liballegro_color.so.5.0.10
105d50000-105d54000 rwxp /home/seeschloss/df/hack/libpng12.so.0.50.0
105d54000-105d58000 r-xp /home/seeschloss/df/hack/libpng12.so.0.50.0
105d58000-105d78000 rwxp /home/seeschloss/df/hack/libpng12.so.0.50.0
105f80000-105f84000 r-xp /home/seeschloss/df/hack/libjpeg.so.62.1.0
105f84000-105fc8000 rwxp /home/seeschloss/df/hack/libjpeg.so.62.1.0
lethosor commented 1 year ago

Looking at it more closely: sptr and eptr are the start and end of the memory range to be patched (spanning count bytes), so the check is intended to ensure that all memory ranges between sptr and eptr are contiguous. This seems like a perfectly reasonable check to me. If there's any address between sptr and eptr that isn't mapped, then writing to all bytes between those addresses will segfault. So I don't think https://github.com/seeschloss/dfhack/commit/5102b21af0087621882e80c40a35ac9da2e498b4 is a correct solution.

What I can't explain is why the condition you removed is firing at all. In order for that loop to be reached, eptr must be in at least the memory range after sptr, which means count must be large, and I don't have an explanation for why that would be the case. virtual_identity::set_vmethod_ptr should be calling verifyAccess with count == sizeof(void*). Are you able to see what count is when this condition is triggered?

seeschloss commented 1 year ago

count is 8 which seems correct to me.

I have had one crash I think running dfhack with my rough hack, and it might very well be because of it, difficult to tell. It definitely doesn't crash often though.

lethosor commented 1 year ago

I doubt a delayed crash would be due to your change. Still haven't been able to think of a reason why your change would be necessary, though. If you can also check on the values of sptr, eptr, start, end, etc. that would help.

seeschloss commented 1 year ago

So I have basically no idea what I'm doing but I added this line just after the while, line 2787:

printf("start: %d, end: %d, ranges.size(): %zu, ranges[end].start: %p, sptr: %p, eptr: %p\n", start, end, ranges.size(), ranges[end].start, sptr, eptr);

and this is the output:

start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1293, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1c788, eptr: 0x1f1c790
start: 179, end: 180, ranges.size(): 1281, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1fb58, eptr: 0x1f1fb60
start: 179, end: 180, ranges.size(): 1282, ranges[end].start: 0x1a9c000, ranges[end-1].end: 0x2a04000, sptr: 0x1f1cef8, eptr: 0x1f1cf00

Every of these lines ended up triggering the ranges[end].start != ranges[end-1].end check (obviously).

(lsmem output same as above)

lethosor commented 1 year ago

That's really helpful, thanks. Neither of those memory ranges are in your lsmem output from earlier. What does this give you?

devel/lsmem 0x1a9c000 0x2a04000 0x2a03fff
seeschloss commented 1 year ago

This is the output:

01a8c000-01aa0000 r-xp
01a8c000-01aa0000 r-xp
01be8000-02a04000 rwxp
01be8000-02a04000 rwxp
In fact, here is the whole unfiltered thing if it can help
00010000-00014000 rwxp
00020000-00024000 rwxp
00030000-00034000 r-xp
00040000-00044000 r-xp
00050000-00054000 r-xp
00060000-00064000 r-xp
00070000-00074000 rwxp
00080000-00084000 rwxp
00090000-00094000 r-xp
000a0000-000a4000 r-xp
000b0000-000b4000 r-xp
000c0000-000c4000 rwxp
000d0000-000d4000 rwxp
000e0000-000e4000 rwxp
000f0000-000f4000 rwxp
00100000-00104000 rwxp
00110000-00114000 rwxp
00120000-00124000 rwxp
00130000-00134000 rwxp
00140000-00144000 rwxp
00150000-00154000 rwxp
00160000-00164000 rwxp
00170000-00174000 rwxp
00180000-00184000 rwxp
00190000-00194000 rwxp
001a0000-001a4000 rwxp
001b0000-001b4000 rwxp
001c0000-001c4000 rwxp
001d0000-001d4000 rwxp
001e0000-001e4000 rwxp
001f0000-001f4000 rwxp
00200000-00204000 rwxp
00210000-00214000 rwxp
00220000-00224000 rwxp
00230000-00234000 rwxp
00240000-00244000 rwxp
00250000-00254000 rwxp
00260000-00264000 rwxp
00270000-00274000 rwxp
00280000-00284000 rwxp
00290000-00294000 rwxp
002a0000-002a4000 rwxp
002b0000-002b4000 rwxp
002c0000-002c4000 rwxp
002d0000-002d4000 rwxp
002e0000-002e4000 rwxp
002f0000-002f4000 rwxp
00300000-00304000 rwxp
00310000-00314000 rwxp
00320000-00324000 rwxp
00330000-00334000 rwxp
00340000-00344000 rwxp
00350000-00354000 rwxp
00360000-00364000 rwxp
00370000-00374000 rwxp
00380000-00384000 rwxp
00390000-00394000 rwxp
003a0000-003a4000 rwxp
003b0000-003b4000 rwxp
003c0000-003c4000 rwxp
003d0000-003d4000 rwxp
003e0000-003e4000 rwxp
003f0000-003f4000 rwxp
00400000-00414000 rwxp
00400000-00414000 rwxp
00414000-00418000 r-xp
00414000-00418000 r-xp
00418000-004dc000 rwxp
00418000-004dc000 rwxp
004dc000-004e4000 r-xp
004dc000-004e4000 r-xp
004e4000-005e0000 rwxp
004e4000-005e0000 rwxp
005e0000-005e8000 r-xp
005e0000-005e8000 r-xp
005e8000-00754000 rwxp
005e8000-00754000 rwxp
00754000-0075c000 r-xp
00754000-0075c000 r-xp
0075c000-00a10000 rwxp
0075c000-00a10000 rwxp
00a10000-00a14000 r-xp
00a10000-00a14000 r-xp
00a14000-00b48000 rwxp
00a14000-00b48000 rwxp
00b48000-00b50000 r-xp
00b48000-00b50000 r-xp
00b50000-00d00000 rwxp
00b50000-00d00000 rwxp
00d00000-00d08000 r-xp
00d00000-00d08000 r-xp
00d08000-00d88000 rwxp
00d08000-00d88000 rwxp
00d88000-00d8c000 r-xp
00d88000-00d8c000 r-xp
00d8c000-00dc4000 rwxp
00d8c000-00dc4000 rwxp
00dc4000-00dd0000 r-xp
00dc4000-00dd0000 r-xp
00dd0000-00ddc000 rwxp
00dd0000-00ddc000 rwxp
00ddc000-00de0000 r-xp
00ddc000-00de0000 r-xp
00de0000-00fd8000 rwxp
00de0000-00fd8000 rwxp
00fd8000-00fdc000 r-xp
00fd8000-00fdc000 r-xp
00fdc000-01010000 rwxp
00fdc000-01010000 rwxp
01010000-01014000 r-xp
01010000-01014000 r-xp
01014000-0102c000 rwxp
01014000-0102c000 rwxp
0102c000-01034000 r-xp
0102c000-01034000 r-xp
01034000-01060000 rwxp
01034000-01060000 rwxp
01060000-01078000 r-xp
01060000-01078000 r-xp
01078000-010ec000 rwxp
01078000-010ec000 rwxp
010ec000-010f0000 r-xp
010ec000-010f0000 r-xp
010f0000-01210000 rwxp
010f0000-01210000 rwxp
01210000-01214000 r-xp
01210000-01214000 r-xp
01214000-01218000 rwxp
01214000-01218000 rwxp
01218000-0121c000 r-xp
01218000-0121c000 r-xp
0121c000-01220000 rwxp
0121c000-01220000 rwxp
01220000-01224000 r-xp
01220000-01224000 r-xp
01224000-01238000 rwxp
01224000-01238000 rwxp
01238000-01240000 r-xp
01238000-01240000 r-xp
01240000-01298000 rwxp
01240000-01298000 rwxp
01298000-0129c000 r-xp
01298000-0129c000 r-xp
0129c000-012c0000 rwxp
0129c000-012c0000 rwxp
012c0000-012c8000 r-xp
012c0000-012c8000 r-xp
012c8000-012d8000 rwxp
012c8000-012d8000 rwxp
012d8000-012e4000 r-xp
012d8000-012e4000 r-xp
012e4000-012e8000 rwxp
012e4000-012e8000 rwxp
012e8000-012f0000 r-xp
012e8000-012f0000 r-xp
012f0000-012f4000 rwxp
012f0000-012f4000 rwxp
012f4000-012f8000 r-xp
012f4000-012f8000 r-xp
012f8000-01348000 rwxp
012f8000-01348000 rwxp
01348000-0135c000 r-xp
01348000-0135c000 r-xp
0135c000-013b0000 rwxp
0135c000-013b0000 rwxp
013b0000-013b4000 r-xp
013b0000-013b4000 r-xp
013b4000-014a8000 rwxp
013b4000-014a8000 rwxp
014a8000-014b0000 r-xp
014a8000-014b0000 r-xp
014b0000-015cc000 rwxp
014b0000-015cc000 rwxp
015cc000-015d0000 r-xp
015cc000-015d0000 r-xp
015d0000-016f0000 rwxp
015d0000-016f0000 rwxp
016f0000-016f8000 r-xp
016f0000-016f8000 r-xp
016f8000-01710000 rwxp
016f8000-01710000 rwxp
01710000-01718000 r-xp
01710000-01718000 r-xp
01718000-0172c000 rwxp
01718000-0172c000 rwxp
0172c000-01730000 r-xp
0172c000-01730000 r-xp
01730000-01764000 rwxp
01730000-01764000 rwxp
01764000-01768000 r-xp
01764000-01768000 r-xp
01768000-018fc000 rwxp
01768000-018fc000 rwxp
018fc000-01908000 r-xp
018fc000-01908000 r-xp
01908000-01a8c000 rwxp
01908000-01a8c000 rwxp
01a8c000-01aa0000 r-xp
01a8c000-01aa0000 r-xp
01aa0000-01bdc000 rwxp
01aa0000-01bdc000 rwxp
01bdc000-01be8000 r-xp
01bdc000-01be8000 r-xp
01be8000-02a04000 rwxp
01be8000-02a04000 rwxp
02a10000-02a14000 rwxp
02a20000-02a24000 rwxp
02a30000-02a34000 rwxp
02a40000-02a44000 rwxp
02a50000-02a54000 rwxp
02a60000-02a64000 rwxp
02a70000-02a74000 rwxp
02a80000-02a84000 rwxp
02a90000-02a94000 rwxp
02aa0000-02aa4000 rwxp
02ab0000-02ab4000 rwxp
02ac0000-02ac4000 rwxp
02ad0000-02ad4000 rwxp
02ae0000-02ae4000 rwxp
02af0000-02af4000 rwxp
02b00000-02b04000 rwxp
02b10000-02b14000 rwxp
02b20000-02b24000 rwxp
02b30000-02b34000 rwxp
02b40000-02b44000 rwxp
02b50000-02b54000 rwxp
02b60000-02b64000 rwxp
02b70000-02b74000 rwxp
02b80000-02b84000 rwxp
02b90000-02b94000 rwxp
02ba0000-02ba4000 rwxp
34800000-35608000 r-xp /home/seeschloss/src/box64/build/box64
35614000-356ec000 r--p /home/seeschloss/src/box64/build/box64
356ec000-356f4000 rw-p /home/seeschloss/src/box64/build/box64
356f4000-36164000 rw-p
53d24000-56974000 rw-p [heap]
100000000-103800000 rw-p
103800000-103820000 rwxp
103800000-103820000 rwxp
103820000-103830000 r-xp
103820000-103830000 r-xp
103830000-10383c000 rwxp
103830000-10383c000 rwxp
10383c000-103850000 r-xp
10383c000-103850000 r-xp
103850000-103854000 rwxp
103850000-103854000 rwxp
103854000-1038bc000 r-xp
103854000-1038bc000 r-xp
1038bc000-103bf4000 rwxp
1038bc000-103bf4000 rwxp
103c00000-103c98000 rwxp
103c00000-103c98000 rwxp
103c98000-103ca0000 r-xp
103c98000-103ca0000 r-xp
103ca0000-103ca4000 rwxp
103ca0000-103ca4000 rwxp
103ca4000-103cac000 r-xp
103ca4000-103cac000 r-xp
103cac000-103cb4000 rwxp
103cac000-103cb4000 rwxp
103cb4000-103cd8000 r-xp
103cb4000-103cd8000 r-xp
103cd8000-103cdc000 rwxp
103cd8000-103cdc000 rwxp
103cdc000-103ce0000 r-xp
103cdc000-103ce0000 r-xp
103ce0000-103cf8000 rwxp
103ce0000-103cf8000 rwxp
103cf8000-103cfc000 r-xp
103cf8000-103cfc000 r-xp
103cfc000-103d04000 rwxp
103cfc000-103d04000 rwxp
103d04000-103d18000 r-xp
103d04000-103d18000 r-xp
103d18000-103d1c000 rwxp
103d18000-103d1c000 rwxp
103d1c000-103d24000 r-xp
103d1c000-103d24000 r-xp
103d24000-103d30000 rwxp
103d24000-103d30000 rwxp
103d30000-103d4c000 r-xp
103d30000-103d4c000 r-xp
103d4c000-103d94000 rwxp
103d4c000-103d94000 rwxp
103d94000-103d9c000 r-xp
103d94000-103d9c000 r-xp
103d9c000-103e20000 rwxp
103d9c000-103e20000 rwxp
103e20000-103e28000 r-xp
103e20000-103e28000 r-xp
103e28000-103e34000 rwxp
103e28000-103e34000 rwxp
103e34000-103e3c000 r-xp
103e34000-103e3c000 r-xp
103e3c000-103e40000 rwxp
103e3c000-103e40000 rwxp
103e40000-103e44000 r-xp
103e40000-103e44000 r-xp
103e44000-103e4c000 rwxp
103e44000-103e4c000 rwxp
103e50000-103ec4000 rwxp
103e50000-103ec4000 rwxp
103ec4000-103ec8000 r-xp
103ec4000-103ec8000 r-xp
103ec8000-103ecc000 rwxp
103ec8000-103ecc000 rwxp
103ecc000-103ed0000 r-xp
103ecc000-103ed0000 r-xp
103ed0000-103ee4000 rwxp
103ed0000-103ee4000 rwxp
103ee4000-103ee8000 r-xp
103ee4000-103ee8000 r-xp
103ee8000-103efc000 rwxp
103ee8000-103efc000 rwxp
103efc000-103f00000 r-xp
103efc000-103f00000 r-xp
103f00000-103f14000 rwxp
103f00000-103f14000 rwxp
103f14000-103f18000 r-xp
103f14000-103f18000 r-xp
103f18000-103f54000 rwxp
103f18000-103f54000 rwxp
103f54000-103f58000 r-xp
103f54000-103f58000 r-xp
103f58000-103f6c000 rwxp
103f58000-103f6c000 rwxp
103f6c000-103f70000 r-xp
103f6c000-103f70000 r-xp
103f70000-103f78000 rwxp
103f70000-103f78000 rwxp
103f78000-103f84000 r-xp
103f78000-103f84000 r-xp
103f84000-103f90000 rwxp
103f84000-103f90000 rwxp
103f90000-103f94000 r-xp
103f90000-103f94000 r-xp
103f94000-103fa4000 rwxp
103f94000-103fa4000 rwxp
103fa4000-103fa8000 r-xp
103fa4000-103fa8000 r-xp
103fa8000-103fac000 rwxp
103fa8000-103fac000 rwxp
103fac000-103fb0000 r-xp
103fac000-103fb0000 r-xp
103fb0000-10402c000 rwxp
103fb0000-10402c000 rwxp
104030000-104230000 rw-p
104230000-104234000 r-xp
104230000-104234000 r-xp
104234000-104238000 rwxp
104234000-104238000 rwxp
104240000-104690000 rwxp
104240000-104690000 rwxp
104690000-1046a8000 r-xp
104690000-1046a8000 r-xp
1046a8000-1046b8000 rwxp
1046a8000-1046b8000 rwxp
1046b8000-1046e8000 r-xp
1046b8000-1046e8000 r-xp
1046e8000-1046ec000 rwxp
1046e8000-1046ec000 rwxp
1046ec000-1046f0000 r-xp
1046ec000-1046f0000 r-xp
1046f0000-1046f4000 rwxp
1046f0000-1046f4000 rwxp
1046f4000-104758000 r-xp
1046f4000-104758000 r-xp
104758000-1047a0000 rwxp
104758000-1047a0000 rwxp
1047a0000-1047a4000 r-xp
1047a0000-1047a4000 r-xp
1047a4000-1047cc000 rwxp
1047a4000-1047cc000 rwxp
1047cc000-1047ec000 r-xp
1047cc000-1047ec000 r-xp
1047ec000-1047f0000 rwxp
1047ec000-1047f0000 rwxp
1047f0000-1047fc000 r-xp
1047f0000-1047fc000 r-xp
1047fc000-104800000 rwxp
1047fc000-104800000 rwxp
104800000-104804000 r-xp
104800000-104804000 r-xp
104804000-104808000 rwxp
104804000-104808000 rwxp
104808000-104814000 r-xp
104808000-104814000 r-xp
104814000-104818000 rwxp
104814000-104818000 rwxp
104818000-104824000 r-xp
104818000-104824000 r-xp
104824000-104828000 rwxp
104824000-104828000 rwxp
104828000-104834000 r-xp
104828000-104834000 r-xp
104834000-10483c000 rwxp
104834000-10483c000 rwxp
10483c000-104850000 r-xp
10483c000-104850000 r-xp
104850000-104860000 rwxp
104850000-104860000 rwxp
104860000-104880000 r-xp
104860000-104880000 r-xp
104880000-104884000 rwxp
104880000-104884000 rwxp
104884000-104888000 r-xp
104884000-104888000 r-xp
104888000-104898000 rwxp
104888000-104898000 rwxp
104898000-1048ac000 r-xp
104898000-1048ac000 r-xp
1048ac000-1048b0000 rwxp
1048ac000-1048b0000 rwxp
1048b0000-1048b4000 r-xp
1048b0000-1048b4000 r-xp
1048b4000-1048c8000 rwxp
1048b4000-1048c8000 rwxp
1048c8000-1048cc000 r-xp
1048c8000-1048cc000 r-xp
1048cc000-1048d4000 rwxp
1048cc000-1048d4000 rwxp
1048d4000-1048e4000 r-xp
1048d4000-1048e4000 r-xp
1048e4000-1048e8000 rwxp
1048e4000-1048e8000 rwxp
1048e8000-1048ec000 r-xp
1048e8000-1048ec000 r-xp
1048ec000-1048f0000 rwxp
1048ec000-1048f0000 rwxp
1048f0000-104940000 r-xp
1048f0000-104940000 r-xp
104940000-104948000 rwxp
104940000-104948000 rwxp
104948000-10494c000 r-xp
104948000-10494c000 r-xp
10494c000-104950000 rwxp
10494c000-104950000 rwxp
104950000-104970000 r-xp
104950000-104970000 r-xp
104970000-104978000 rwxp
104970000-104978000 rwxp
104978000-10497c000 r-xp
104978000-10497c000 r-xp
10497c000-10499c000 rwxp
10497c000-10499c000 rwxp
10499c000-1049b0000 r-xp
10499c000-1049b0000 r-xp
1049b0000-1049b8000 rwxp
1049b0000-1049b8000 rwxp
1049b8000-1049d8000 r-xp
1049b8000-1049d8000 r-xp
1049d8000-1049dc000 rwxp
1049d8000-1049dc000 rwxp
1049dc000-1049e8000 r-xp
1049dc000-1049e8000 r-xp
1049e8000-1049ec000 rwxp
1049e8000-1049ec000 rwxp
1049ec000-104a14000 r-xp
1049ec000-104a14000 r-xp
104a14000-104dd0000 rwxp
104a14000-104dd0000 rwxp
104dd0000-104dd8000 r-xp
104dd0000-104dd8000 r-xp
104dd8000-104df8000 rwxp
104dd8000-104df8000 rwxp
104df8000-104e28000 r-xp
104df8000-104e28000 r-xp
104e28000-104e38000 rwxp
104e28000-104e38000 rwxp
104e40000-104e48000 r-xp
104e40000-104e48000 r-xp
104e48000-104e50000 rwxp
104e48000-104e50000 rwxp
104e50000-104e58000 r-xp
104e50000-104e58000 r-xp
104e58000-104e5c000 rwxp
104e58000-104e5c000 rwxp
104e60000-104e64000 rwxp
104e60000-104e64000 rwxp
104e64000-104e6c000 r-xp
104e64000-104e6c000 r-xp
104e6c000-104e74000 rwxp
104e6c000-104e74000 rwxp
104e74000-104e78000 r-xp
104e74000-104e78000 r-xp
104e78000-104e84000 rwxp
104e78000-104e84000 rwxp
104e84000-104e88000 r-xp
104e84000-104e88000 r-xp
104e88000-104eb0000 rwxp
104e88000-104eb0000 rwxp
104eb0000-104eb4000 r-xp
104eb0000-104eb4000 r-xp
104eb4000-104eb8000 rwxp
104eb4000-104eb8000 rwxp
104ec0000-104ec8000 rwxp
104ec0000-104ec8000 rwxp
104ec8000-104ed0000 r-xp
104ec8000-104ed0000 r-xp
104ed0000-104ed4000 rwxp
104ed0000-104ed4000 rwxp
104ed4000-104ed8000 r-xp
104ed4000-104ed8000 r-xp
104ed8000-104ef0000 rwxp
104ed8000-104ef0000 rwxp
104ef0000-104f04000 r-xp
104ef0000-104f04000 r-xp
104f04000-104f14000 rwxp
104f04000-104f14000 rwxp
104f14000-104f18000 r-xp
104f14000-104f18000 r-xp
104f18000-104f24000 rwxp
104f18000-104f24000 rwxp
104f24000-104f28000 r-xp
104f24000-104f28000 r-xp
104f28000-104f54000 rwxp
104f28000-104f54000 rwxp
104f60000-104f68000 r-xp
104f60000-104f68000 r-xp
104f68000-104f6c000 rwxp
104f68000-104f6c000 rwxp
104f70000-104f74000 rwxp
104f70000-104f74000 rwxp
104f74000-104f7c000 r-xp
104f74000-104f7c000 r-xp
104f7c000-104f84000 rwxp
104f7c000-104f84000 rwxp
104f84000-104f94000 r-xp
104f84000-104f94000 r-xp
104f94000-104f98000 rwxp
104f94000-104f98000 rwxp
104fa0000-104fa4000 rwxp
104fa0000-104fa4000 rwxp
104fa4000-104fac000 r-xp
104fa4000-104fac000 r-xp
104fac000-104fb4000 rwxp
104fac000-104fb4000 rwxp
104fb4000-104fc0000 r-xp
104fb4000-104fc0000 r-xp
104fc0000-104fc4000 rwxp
104fc0000-104fc4000 rwxp
104fd0000-104fd4000 rwxp
104fd0000-104fd4000 rwxp
104fd4000-104fdc000 r-xp
104fd4000-104fdc000 r-xp
104fdc000-104fe0000 rwxp
104fdc000-104fe0000 rwxp
104fe0000-104fe4000 r-xp
104fe0000-104fe4000 r-xp
104fe4000-104fec000 rwxp
104fe4000-104fec000 rwxp
104ff0000-104ff4000 rwxp
104ff0000-104ff4000 rwxp
104ff4000-104ff8000 r-xp
104ff4000-104ff8000 r-xp
104ff8000-104ffc000 rwxp
104ff8000-104ffc000 rwxp
105000000-105038000 rwxp /home/seeschloss/df/hack/liballegro.so.5.0.10
105038000-10503c000 r-xp /home/seeschloss/df/hack/liballegro.so.5.0.10
10503c000-10505c000 rwxp /home/seeschloss/df/hack/liballegro.so.5.0.10
10505c000-105064000 r-xp /home/seeschloss/df/hack/liballegro.so.5.0.10
105064000-10509c000 rwxp /home/seeschloss/df/hack/liballegro.so.5.0.10
10509c000-1050a0000 r-xp /home/seeschloss/df/hack/liballegro.so.5.0.10
1050a0000-1050e8000 rwxp /home/seeschloss/df/hack/liballegro.so.5.0.10
1050e8000-1052f4000 rwxp
1050e8000-1052f4000 rwxp
105300000-105304000 r-xp /home/seeschloss/df/hack/liballegro_primitives.so.5.0.10
105304000-105310000 rwxp /home/seeschloss/df/hack/liballegro_primitives.so.5.0.10
105310000-105510000 rwxp
105310000-105510000 rwxp
105510000-105514000 r-xp /home/seeschloss/df/hack/liballegro_font.so.5.0.10
105514000-105518000 rwxp /home/seeschloss/df/hack/liballegro_font.so.5.0.10
105518000-105718000 rwxp
105518000-105718000 rwxp
105720000-105724000 r-xp /home/seeschloss/df/hack/liballegro_image.so.5.0.10
105724000-10572c000 rwxp /home/seeschloss/df/hack/liballegro_image.so.5.0.10
10572c000-10592c000 rwxp
10572c000-10592c000 rwxp
105930000-105934000 r-xp /home/seeschloss/df/hack/liballegro_ttf.so.5.0.10
105934000-105b38000 rwxp
105934000-105b38000 rwxp
105b40000-105b44000 r-xp /home/seeschloss/df/hack/liballegro_color.so.5.0.10
105b44000-105d48000 rwxp
105b44000-105d48000 rwxp
105d50000-105d54000 rwxp /home/seeschloss/df/hack/libpng12.so.0.50.0
105d54000-105d58000 r-xp /home/seeschloss/df/hack/libpng12.so.0.50.0
105d58000-105d78000 rwxp /home/seeschloss/df/hack/libpng12.so.0.50.0
105d78000-105f78000 rwxp
105d78000-105f78000 rwxp
105f80000-105f84000 r-xp /home/seeschloss/df/hack/libjpeg.so.62.1.0
105f84000-105fc8000 rwxp /home/seeschloss/df/hack/libjpeg.so.62.1.0
105fc8000-1061d8000 rwxp
105fc8000-1061d8000 rwxp
1061e0000-1061e4000 rwxp
1061e0000-1061e4000 rwxp
1061e4000-1061ec000 r-xp
1061e4000-1061ec000 r-xp
1061ec000-1061f4000 rwxp
1061ec000-1061f4000 rwxp
106200000-106208000 r-xp
106200000-106208000 r-xp
106208000-10620c000 rwxp
106208000-10620c000 rwxp
106210000-106214000 r-xp
106210000-106214000 r-xp
106214000-106218000 rwxp
106214000-106218000 rwxp
106220000-106230000 r-xp
106220000-106230000 r-xp
106230000-106234000 rwxp
106230000-106234000 rwxp
106240000-106244000 rwxp
106240000-106244000 rwxp
106244000-106250000 r-xp
106244000-106250000 r-xp
106250000-106254000 rwxp
106250000-106254000 rwxp
106260000-106268000 r-xp
106260000-106268000 r-xp
106268000-10626c000 rwxp
106268000-10626c000 rwxp
106270000-106274000 r-xp
106270000-106274000 r-xp
106274000-106278000 rwxp
106274000-106278000 rwxp
106280000-106288000 rwxp
106280000-106288000 rwxp
106288000-10629c000 r-xp
106288000-10629c000 r-xp
10629c000-1062a0000 rwxp
10629c000-1062a0000 rwxp
1062a0000-1062a8000 r-xp
1062a0000-1062a8000 r-xp
1062a8000-1062b4000 rwxp
1062a8000-1062b4000 rwxp
1062b4000-1062b8000 r-xp
1062b4000-1062b8000 r-xp
1062b8000-1062c4000 rwxp
1062b8000-1062c4000 rwxp
1062d0000-1062d4000 r-xp
1062d0000-1062d4000 r-xp
1062d4000-1062d8000 rwxp
1062d4000-1062d8000 rwxp
1062e0000-1062e4000 rwxp
1062e0000-1062e4000 rwxp
1062e4000-1062f4000 r-xp
1062e4000-1062f4000 r-xp
1062f4000-1062fc000 rwxp
1062f4000-1062fc000 rwxp
106300000-106308000 r-xp
106300000-106308000 r-xp
106310000-106318000 r-xp
106310000-106318000 r-xp
106318000-10631c000 rwxp
106318000-10631c000 rwxp
106320000-106324000 r-xp
106320000-106324000 r-xp
106324000-106328000 rwxp
106324000-106328000 rwxp
106330000-106334000 rwxp
106330000-106334000 rwxp
106334000-106344000 r-xp
106334000-106344000 r-xp
106344000-106348000 rwxp
106344000-106348000 rwxp
106350000-10635c000 rwxp
106350000-10635c000 rwxp
10635c000-106368000 r-xp
10635c000-106368000 r-xp
106368000-106390000 rwxp
106368000-106390000 rwxp
106390000-10639c000 r-xp
106390000-10639c000 r-xp
10639c000-1063a0000 rwxp
10639c000-1063a0000 rwxp
1063a0000-1063ac000 r-xp
1063a0000-1063ac000 r-xp
1063ac000-1063b4000 rwxp
1063ac000-1063b4000 rwxp
1063b4000-1063b8000 r-xp
1063b4000-1063b8000 r-xp
1063b8000-1063dc000 rwxp
1063b8000-1063dc000 rwxp
1063e0000-1063e4000 r-xp
1063e0000-1063e4000 r-xp
1063e4000-1063e8000 rwxp
1063e4000-1063e8000 rwxp
1063f0000-1063f4000 rwxp
1063f0000-1063f4000 rwxp
1063f4000-106404000 r-xp
1063f4000-106404000 r-xp
106404000-106408000 rwxp
106404000-106408000 rwxp
106410000-106414000 rwxp
106410000-106414000 rwxp
106414000-10641c000 r-xp
106414000-10641c000 r-xp
10641c000-106424000 rwxp
10641c000-106424000 rwxp
106424000-10642c000 r-xp
106424000-10642c000 r-xp
10642c000-106474000 rwxp
10642c000-106474000 rwxp
106480000-106490000 r-xp
106480000-106490000 r-xp
106490000-106498000 rwxp
106490000-106498000 rwxp
1064a0000-1064a8000 r-xp
1064a0000-1064a8000 r-xp
1064a8000-1064ac000 rwxp
1064a8000-1064ac000 rwxp
1064b0000-1064b4000 rwxp
1064b0000-1064b4000 rwxp
1064b4000-1064bc000 r-xp
1064b4000-1064bc000 r-xp
1064bc000-1064c0000 rwxp
1064bc000-1064c0000 rwxp
1064c0000-1064c4000 r-xp
1064c0000-1064c4000 r-xp
1064c4000-1064c8000 rwxp
1064c4000-1064c8000 rwxp
1064d0000-1064d4000 rwxp
1064d0000-1064d4000 rwxp
1064d4000-1064d8000 r-xp
1064d4000-1064d8000 r-xp
1064d8000-1064dc000 rwxp
1064d8000-1064dc000 rwxp
1064dc000-1064e8000 r-xp
1064dc000-1064e8000 r-xp
1064e8000-1064ec000 rwxp
1064e8000-1064ec000 rwxp
1064f0000-1064f4000 rwxp
1064f0000-1064f4000 rwxp
1064f4000-1064fc000 r-xp
1064f4000-1064fc000 r-xp
1064fc000-106500000 rwxp
1064fc000-106500000 rwxp
106500000-106504000 r-xp
106500000-106504000 r-xp
106504000-106508000 rwxp
106504000-106508000 rwxp
106510000-106514000 rwxp
106510000-106514000 rwxp
106514000-106518000 r-xp
106514000-106518000 r-xp
106518000-106524000 rwxp
106518000-106524000 rwxp
106524000-106534000 r-xp
106524000-106534000 r-xp
106534000-10653c000 rwxp
106534000-10653c000 rwxp
106540000-106548000 r-xp
106540000-106548000 r-xp
106548000-10654c000 rwxp
106548000-10654c000 rwxp
106550000-106558000 r-xp
106550000-106558000 r-xp
106558000-10655c000 rwxp
106558000-10655c000 rwxp
106560000-106564000 rwxp
106560000-106564000 rwxp
106564000-106568000 r-xp
106564000-106568000 r-xp
106568000-10656c000 rwxp
106568000-10656c000 rwxp
106570000-106578000 r-xp
106570000-106578000 r-xp
106580000-106588000 r-xp
106580000-106588000 r-xp
106588000-10658c000 rwxp
106588000-10658c000 rwxp
106590000-10659c000 r-xp
106590000-10659c000 r-xp
10659c000-1065a0000 rwxp
10659c000-1065a0000 rwxp
1065a0000-1065a4000 r-xp
1065a0000-1065a4000 r-xp
1065a4000-1065a8000 rwxp
1065a4000-1065a8000 rwxp
1065b0000-1065b4000 rwxp
1065b0000-1065b4000 rwxp
1065b4000-1065bc000 r-xp
1065b4000-1065bc000 r-xp
1065bc000-1065c4000 rwxp
1065bc000-1065c4000 rwxp
1065d0000-1065e4000 rwxp
1065d0000-1065e4000 rwxp
1065e4000-1065f0000 r-xp
1065e4000-1065f0000 r-xp
1065f0000-1065f8000 rwxp
1065f0000-1065f8000 rwxp
1065f8000-1065fc000 r-xp
1065f8000-1065fc000 r-xp
1065fc000-106600000 rwxp
1065fc000-106600000 rwxp
106600000-106604000 r-xp
106600000-106604000 r-xp
106604000-106634000 rwxp
106604000-106634000 rwxp
106634000-106638000 r-xp
106634000-106638000 r-xp
106638000-10663c000 rwxp
106638000-10663c000 rwxp
10663c000-106640000 r-xp
10663c000-106640000 r-xp
106640000-106644000 rwxp
106640000-106644000 rwxp
106644000-10664c000 r-xp
106644000-10664c000 r-xp
10664c000-106670000 rwxp
10664c000-106670000 rwxp
106670000-106684000 r-xp
106670000-106684000 r-xp
106684000-1066b0000 rwxp
106684000-1066b0000 rwxp
1066b0000-1066b4000 r-xp
1066b0000-1066b4000 r-xp
1066b4000-1066b8000 rwxp
1066b4000-1066b8000 rwxp
1066b8000-1066bc000 r-xp
1066b8000-1066bc000 r-xp
1066bc000-1066c4000 rwxp
1066bc000-1066c4000 rwxp
1066c4000-1066cc000 r-xp
1066c4000-1066cc000 r-xp
1066cc000-1066d4000 rwxp
1066cc000-1066d4000 rwxp
1066d4000-1066dc000 r-xp
1066d4000-1066dc000 r-xp
1066dc000-1066e0000 rwxp
1066dc000-1066e0000 rwxp
1066e0000-1066e8000 r-xp
1066e0000-1066e8000 r-xp
1066e8000-1066f0000 rwxp
1066e8000-1066f0000 rwxp
1066f0000-1066f8000 r-xp
1066f0000-1066f8000 r-xp
1066f8000-1066fc000 rwxp
1066f8000-1066fc000 rwxp
106700000-106704000 r-xp
106700000-106704000 r-xp
106704000-106708000 rwxp
106704000-106708000 rwxp
106710000-106714000 r-xp
106710000-106714000 r-xp
106714000-106718000 rwxp
106714000-106718000 rwxp
106720000-106728000 r-xp
106720000-106728000 r-xp
106728000-10672c000 rwxp
106728000-10672c000 rwxp
106730000-106734000 rwxp
106730000-106734000 rwxp
106734000-10673c000 r-xp
106734000-10673c000 r-xp
10673c000-106740000 rwxp
10673c000-106740000 rwxp
106740000-106744000 r-xp
106740000-106744000 r-xp
106744000-10674c000 rwxp
106744000-10674c000 rwxp
106750000-106754000 rwxp
106750000-106754000 rwxp
106754000-106760000 r-xp
106754000-106760000 r-xp
106760000-106764000 rwxp
106760000-106764000 rwxp
106764000-106768000 r-xp
106764000-106768000 r-xp
106768000-106774000 rwxp
106768000-106774000 rwxp
106774000-10677c000 r-xp
106774000-10677c000 r-xp
10677c000-106780000 rwxp
10677c000-106780000 rwxp
106780000-106784000 r-xp
106780000-106784000 r-xp
106784000-10678c000 rwxp
106784000-10678c000 rwxp
106790000-106794000 rwxp
106790000-106794000 rwxp
106794000-106798000 r-xp
106794000-106798000 r-xp
106798000-10679c000 rwxp
106798000-10679c000 rwxp
10679c000-1067a0000 r-xp
10679c000-1067a0000 r-xp
1067a0000-1067ac000 rwxp
1067a0000-1067ac000 rwxp
1067b0000-1067b8000 r-xp
1067b0000-1067b8000 r-xp
1067b8000-1067bc000 rwxp
1067b8000-1067bc000 rwxp
1067c0000-1067c4000 rwxp
1067c0000-1067c4000 rwxp
1067c4000-1067d0000 r-xp
1067c4000-1067d0000 r-xp
1067d0000-1067d4000 rwxp
1067d0000-1067d4000 rwxp
1067e0000-1067e4000 rwxp
1067e0000-1067e4000 rwxp
1067e4000-1067f4000 r-xp
1067e4000-1067f4000 r-xp
1067f4000-1067f8000 rwxp
1067f4000-1067f8000 rwxp
106800000-106804000 r-xp
106800000-106804000 r-xp
106804000-106808000 rwxp
106804000-106808000 rwxp
106810000-106e10000 rw-p
fffee4000000-fffee4594000 rw-p
fffee4594000-fffee8000000 ---p
fffeec000000-fffeec028000 rw-p
fffeec028000-fffef0000000 ---p
fffef0000000-fffef0750000 rw-p
fffef0750000-fffef4000000 ---p
fffef5334000-fffef56c0000 rw-s /dev/dri/renderD128
fffef56c0000-fffef5a4c000 rw-s /dev/dri/renderD128
fffef5a4c000-fffef5dd8000 rw-s /dev/dri/renderD128
fffef5dd8000-fffef6164000 rw-s /dev/dri/renderD128
fffef6164000-fffef64f0000 rw-s /dev/dri/renderD128
fffef64f0000-fffef687c000 rw-s /dev/dri/renderD128
fffef687c000-fffef697c000 rw-s /dev/dri/renderD128
fffef697c000-fffef6a7c000 rw-s /dev/dri/renderD128
fffef6a7c000-fffef6e08000 rw-s /dev/dri/renderD128
fffef6e08000-fffef6ff0000 rw-s /dev/dri/renderD128
fffef6ff0000-fffef7000000 ---p
fffef7000000-fffef8000000 rw-p
fffef8000000-fffef8068000 rw-p
fffef8068000-fffefc000000 ---p
fffefc02c000-fffefc06c000 rw-s /dev/dri/renderD128
fffefc06c000-fffefc0ac000 rw-s /dev/dri/renderD128
fffefc0ac000-fffefc1cc000 rw-s /memfd:wayland-cursor (deleted)
fffefc1cc000-fffefc558000 rw-s /dev/dri/renderD128
fffefc558000-fffefc5d8000 rw-s /dev/dri/renderD128
fffefc5d8000-fffefc618000 rw-s /dev/dri/renderD128
fffefc618000-fffefc658000 rw-s /dev/dri/renderD128
fffefc678000-fffefc67c000 rw-s /dev/dri/renderD128
fffefc67c000-fffefc680000 rw-s /dev/dri/renderD128
fffefc680000-fffefc684000 rw-s /dev/dri/renderD128
fffefc684000-fffefc688000 rw-s /dev/dri/renderD128
fffefc688000-fffefc68c000 rw-s /dev/dri/renderD128
fffefc68c000-fffefc690000 rw-s /dev/dri/renderD128
fffefc690000-fffefc694000 rw-s /dev/dri/renderD128
fffefc694000-fffefc6d4000 rw-s /dev/dri/renderD128
fffefc6d4000-fffefc714000 rw-s /dev/dri/renderD128
fffefc714000-fffefc754000 rw-s /dev/dri/renderD128
fffefc754000-fffefcae0000 rw-s /dev/dri/renderD128
fffefcae0000-fffefcb20000 rw-p
fffefcb20000-fffefcba0000 rwxp
fffefcba0000-fffefcbe0000 rw-p
fffefcbe0000-fffefcc20000 rwxp
fffefcc20000-fffefcc30000 ---p
fffefcc30000-fffefdc30000 rw-p
fffefdc30000-fffefdc40000 ---p
fffefdc40000-fffefec80000 rw-p
fffefec80000-fffefed00000 rwxp
fffefed00000-fffefed80000 rw-p
fffefed80000-fffefedc0000 rwxp
fffefedc0000-fffefee00000 rw-p
fffefee00000-fffefee40000 rwxp
fffefee40000-fffefee80000 rw-p
fffefee80000-fffefef0c000 r-xp /usr/lib/libpcre2-8.so.0.11.2
fffefef0c000-fffefef18000 ---p /usr/lib/libpcre2-8.so.0.11.2
fffefef18000-fffefef1c000 rw-p /usr/lib/libpcre2-8.so.0.11.2
fffefef1c000-fffefef20000 rw-s /dev/dri/renderD128
fffefef20000-fffefef44000 r-xp /usr/lib/libgraphite2.so.3.2.1
fffefef44000-fffefef50000 ---p /usr/lib/libgraphite2.so.3.2.1
fffefef50000-fffefef54000 rw-p /usr/lib/libgraphite2.so.3.2.1
fffefef54000-fffefef58000 rw-s /dev/dri/renderD128
fffefef58000-fffefef5c000 rw-s /dev/dri/renderD128
fffefef5c000-fffefef60000 rw-s /dev/dri/renderD128
fffefef60000-fffeff0cc000 r-xp /usr/lib/libglib-2.0.so.0.7800.0
fffeff0cc000-fffeff0d8000 ---p /usr/lib/libglib-2.0.so.0.7800.0
fffeff0d8000-fffeff0dc000 r--p /usr/lib/libglib-2.0.so.0.7800.0
fffeff0dc000-fffeff0e0000 rw-p /usr/lib/libglib-2.0.so.0.7800.0
fffeff0e0000-fffeff0e4000 rw-s /dev/dri/renderD128
fffeff0e4000-fffeff0e8000 rw-s /dev/dri/renderD128
fffeff0e8000-fffeff0ec000 rw-s /dev/dri/renderD128
fffeff0ec000-fffeff0f0000 rw-s /dev/dri/renderD128
fffeff0f0000-fffeff21c000 r-xp /usr/lib/libharfbuzz.so.0.60821.0
fffeff21c000-fffeff22c000 ---p /usr/lib/libharfbuzz.so.0.60821.0
fffeff22c000-fffeff230000 rw-p /usr/lib/libharfbuzz.so.0.60821.0
fffeff230000-fffeff234000 rw-s /dev/dri/renderD128
fffeff234000-fffeff238000 rw-s /dev/dri/renderD128
fffeff238000-fffeff23c000 rw-s /dev/dri/renderD128
fffeff23c000-fffeff240000 rw-s /dev/dri/renderD128
fffeff240000-fffeff250000 r-xp /usr/lib/libbz2.so.1.0.8
fffeff250000-fffeff25c000 ---p /usr/lib/libbz2.so.1.0.8
fffeff25c000-fffeff260000 r--p /usr/lib/libbz2.so.1.0.8
fffeff260000-fffeff264000 rw-p /usr/lib/libbz2.so.1.0.8
fffeff264000-fffeff268000 rw-s /dev/dri/renderD128
fffeff26c000-fffeff270000 rw-s /dev/dri/renderD128
fffeff270000-fffeff32c000 r-xp /usr/lib/libfreetype.so.6.20.1
fffeff32c000-fffeff338000 ---p /usr/lib/libfreetype.so.6.20.1
fffeff338000-fffeff340000 r--p /usr/lib/libfreetype.so.6.20.1
fffeff340000-fffeff344000 rw-p /usr/lib/libfreetype.so.6.20.1
fffeff344000-fffeff348000 rw-s /dev/dri/renderD128
fffeff34c000-fffeff350000 rw-s /dev/dri/renderD128
fffeff350000-fffeff3d0000 rw-p
fffeff3d0000-fffeff3dc000 r-xp /usr/lib/libXrandr.so.2.2.0
fffeff3dc000-fffeff3e8000 ---p /usr/lib/libXrandr.so.2.2.0
fffeff3e8000-fffeff3ec000 r--p /usr/lib/libXrandr.so.2.2.0
fffeff3ec000-fffeff3f0000 rw-p /usr/lib/libXrandr.so.2.2.0
fffeff3f0000-fffeff3f4000 rw-s /dev/dri/renderD128
fffeff3f4000-fffeff3f8000 rw-s /dev/dri/renderD128
fffeff3f8000-fffeff3fc000 rw-s /dev/dri/renderD128
fffeff3fc000-fffeff400000 rw-s /dev/dri/renderD128
fffeff400000-fffeff414000 r-xp /usr/lib/libXext.so.6.4.0
fffeff414000-fffeff420000 ---p /usr/lib/libXext.so.6.4.0
fffeff420000-fffeff424000 r--p /usr/lib/libXext.so.6.4.0
fffeff424000-fffeff428000 rw-p /usr/lib/libXext.so.6.4.0
fffeff428000-fffeff42c000 rw-s /dev/dri/renderD128
fffeff42c000-fffeff430000 rw-s /dev/dri/renderD128
fffeff430000-fffeff434000 r-xp /usr/lib/libXinerama.so.1.0.0
fffeff434000-fffeff440000 ---p /usr/lib/libXinerama.so.1.0.0
fffeff440000-fffeff444000 rw-p /usr/lib/libXinerama.so.1.0.0
fffeff444000-fffeff448000 rw-s /dev/dri/renderD128
fffeff448000-fffeff44c000 rw-s /dev/dri/renderD128
fffeff44c000-fffeff450000 rw-s /dev/dri/renderD128
fffeff450000-fffeff458000 r-xp /usr/lib/libXfixes.so.3.1.0
fffeff458000-fffeff464000 ---p /usr/lib/libXfixes.so.3.1.0
fffeff464000-fffeff468000 rw-p /usr/lib/libXfixes.so.3.1.0
fffeff468000-fffeff46c000 rw-s /dev/dri/renderD128
fffeff46c000-fffeff470000 rw-s /dev/dri/renderD128
fffeff470000-fffeff47c000 r-xp /usr/lib/libXrender.so.1.3.0
fffeff47c000-fffeff488000 ---p /usr/lib/libXrender.so.1.3.0
fffeff488000-fffeff48c000 rw-p /usr/lib/libXrender.so.1.3.0
fffeff48c000-fffeff490000 rw-s /dev/dri/renderD128
fffeff490000-fffeff49c000 r-xp /usr/lib/libXcursor.so.1.0.2
fffeff49c000-fffeff4a8000 ---p /usr/lib/libXcursor.so.1.0.2
fffeff4a8000-fffeff4ac000 rw-p /usr/lib/libXcursor.so.1.0.2
fffeff4ac000-fffeff4b0000 rw-s /dev/dri/renderD128
fffeff4b0000-fffeff4b4000 rw-s /dev/dri/renderD128
fffeff4b4000-fffeff4b8000 rw-s /dev/dri/renderD128
fffeff4b8000-fffeff4f8000 rw-p
fffeff4f8000-fffeff538000 rwxp
fffeff538000-fffeff578000 rw-p
fffeff578000-fffeff5b8000 rwxp
fffeff5b8000-fffeff5f8000 rw-p
fffeff5f8000-fffeff678000 rwxp
fffeff678000-fffeff6b8000 rw-p
fffeff6b8000-fffeff6f8000 rwxp
fffeff6f8000-fffeff7f8000 rw-s /dev/dri/renderD128
fffeff7f8000-fffeff878000 rw-s /dev/dri/renderD128
fffeff878000-fffeff8b8000 rw-s /dev/dri/renderD128
fffeff8b8000-fffeff8f8000 rw-s /dev/dri/renderD128
fffeff8f8000-fffeff938000 rwxp
fffeff938000-fffeffdc0000 rw-s /dev/dri/renderD128
fffeffdc0000-fffeffe00000 rwxp
fffeffe00000-fffeffe40000 rw-p
fffeffe40000-ffff00000000 rwxp
ffff00000000-ffff00024000 rw-p
ffff00024000-ffff04000000 ---p
ffff04000000-ffff04004000 rw-s /dev/dri/renderD128
ffff04004000-ffff04008000 rw-s /dev/dri/renderD128
ffff04008000-ffff04088000 rwxp
ffff04088000-ffff043c4000 rw-p
ffff043c4000-ffff0484c000 rw-s /dev/dri/renderD128
ffff0484c000-ffff048cc000 rw-s /dev/dri/renderD128
ffff04b18000-ffff04b1c000 rw-s /dev/dri/renderD128
ffff04b1c000-ffff04b20000 rw-s /dev/dri/renderD128
ffff04b20000-ffff04b24000 rw-s /dev/dri/renderD128
ffff04b24000-ffff04b28000 rw-s /dev/dri/renderD128
ffff04b28000-ffff04b2c000 rw-s /dev/dri/renderD128
ffff04b2c000-ffff04b30000 rw-s /dev/dri/renderD128
ffff04b30000-ffff04b34000 rw-s /dev/dri/renderD128
ffff04b34000-ffff04b38000 rw-s /dev/dri/renderD128
ffff04b38000-ffff04b3c000 rw-s /dev/dri/renderD128
ffff04b3c000-ffff04b40000 rw-s /dev/dri/renderD128
ffff04b40000-ffff04b44000 rw-s /dev/dri/renderD128
ffff04b44000-ffff04b48000 rw-s /dev/dri/renderD128
ffff04b48000-ffff04b4c000 rw-s /dev/dri/renderD128
ffff04b4c000-ffff04b50000 rw-s /dev/dri/renderD128
ffff04b50000-ffff04b54000 rw-s /dev/dri/renderD128
ffff04b54000-ffff04b94000 rw-s /dev/dri/renderD128
ffff04b94000-ffff04c14000 rwxp
ffff04c14000-ffff04fa0000 rw-s /dev/dri/renderD128
ffff04fa0000-ffff04fb0000 ---p
ffff04fb0000-ffff05fb0000 rw-p
ffff05fb0000-ffff07e40000 r-xp /usr/lib/libicudata.so.73.2
ffff07e40000-ffff07e4c000 ---p /usr/lib/libicudata.so.73.2
ffff07e4c000-ffff07e50000 rw-p /usr/lib/libicudata.so.73.2
ffff07e50000-ffff07e54000 rw-s /dev/dri/renderD128
ffff07e54000-ffff07e58000 rw-s /dev/dri/renderD128
ffff07e58000-ffff07e5c000 rw-s /dev/dri/renderD128
ffff07e5c000-ffff07e60000 rw-s /dev/dri/renderD128
ffff07e60000-ffff08070000 r-xp /usr/lib/libicuuc.so.73.2
ffff08070000-ffff0807c000 ---p /usr/lib/libicuuc.so.73.2
ffff0807c000-ffff08090000 r--p /usr/lib/libicuuc.so.73.2
ffff08090000-ffff08094000 rw-p /usr/lib/libicuuc.so.73.2
ffff08094000-ffff08098000 rw-p
ffff08098000-ffff0809c000 rw-s /dev/dri/renderD128
ffff0809c000-ffff080a0000 rw-s /dev/dri/renderD128
ffff080a0000-ffff0f844000 r-xp /usr/lib/libLLVM-16.so
ffff0f844000-ffff0f850000 ---p /usr/lib/libLLVM-16.so
ffff0f850000-ffff0ff20000 r--p /usr/lib/libLLVM-16.so
ffff0ff20000-ffff0ff6c000 rw-p /usr/lib/libLLVM-16.so
ffff0ff6c000-ffff0fffc000 rw-p
ffff0fffc000-ffff10000000 rw-s /dev/dri/renderD128
ffff10000000-ffff13ffc000 rw-p
ffff13ffc000-ffff14000000 ---p
ffff14000000-ffff14004000 rw-s /dev/dri/renderD128
ffff14004000-ffff14008000 rw-s /dev/dri/renderD128
ffff14008000-ffff1400c000 rw-s /dev/dri/renderD128
ffff1400c000-ffff14010000 rw-s /dev/dri/renderD128
ffff14010000-ffff14014000 rw-s /dev/dri/renderD128
ffff14014000-ffff14018000 rw-s /dev/dri/renderD128
ffff14018000-ffff1401c000 rw-s /dev/dri/renderD128
ffff1401c000-ffff1405c000 rw-s /dev/dri/renderD128
ffff1405c000-ffff141a0000 rw-s /home/seeschloss/.cache/mesa_shader_cache/index
ffff141a0000-ffff14304000 r-xp /usr/lib/libxml2.so.2.11.5
ffff14304000-ffff14310000 ---p /usr/lib/libxml2.so.2.11.5
ffff14310000-ffff14318000 r--p /usr/lib/libxml2.so.2.11.5
ffff14318000-ffff1431c000 rw-p /usr/lib/libxml2.so.2.11.5
ffff1431c000-ffff14320000 rw-p
ffff14320000-ffff14324000 rw-s /dev/dri/renderD128
ffff14324000-ffff14328000 rw-s /dev/dri/renderD128
ffff14328000-ffff1432c000 rw-s /dev/dri/renderD128
ffff1432c000-ffff14330000 rw-s /dev/dri/renderD128
ffff14330000-ffff143a4000 r-xp /usr/lib/libncursesw.so.6.4
ffff143a4000-ffff143b0000 ---p /usr/lib/libncursesw.so.6.4
ffff143b0000-ffff143b4000 r--p /usr/lib/libncursesw.so.6.4
ffff143b4000-ffff143b8000 rw-p /usr/lib/libncursesw.so.6.4
ffff143b8000-ffff143bc000 rw-s /dev/dri/renderD128
ffff143bc000-ffff143c0000 rw-s /dev/dri/renderD128
ffff143c0000-ffff143f8000 r-xp /usr/lib/libedit.so.0.0.72
ffff143f8000-ffff14408000 ---p /usr/lib/libedit.so.0.0.72
ffff14408000-ffff1440c000 rw-p /usr/lib/libedit.so.0.0.72
ffff1440c000-ffff14410000 rw-p
ffff14410000-ffff14414000 rw-s /dev/dri/renderD128
ffff14414000-ffff14418000 rw-s /dev/dri/renderD128
ffff14418000-ffff1441c000 rw-s /dev/dri/renderD128
ffff1441c000-ffff14420000 rw-s /dev/dri/renderD128
ffff14420000-ffff14430000 r-xp /usr/lib/libsensors.so.5.0.0
ffff14430000-ffff1443c000 ---p /usr/lib/libsensors.so.5.0.0
ffff1443c000-ffff14440000 rw-p /usr/lib/libsensors.so.5.0.0
ffff14440000-ffff14444000 rw-s /dev/dri/renderD128
ffff14444000-ffff14448000 rw-s /dev/dri/renderD128
ffff14448000-ffff1444c000 rw-s /dev/dri/renderD128
ffff1444c000-ffff14450000 rw-s /dev/dri/renderD128
ffff14450000-ffff15134000 r-xp /usr/lib/dri/asahi_dri.so
ffff15134000-ffff15140000 ---p /usr/lib/dri/asahi_dri.so
ffff15140000-ffff151a8000 r--p /usr/lib/dri/asahi_dri.so
ffff151a8000-ffff151ac000 rw-p /usr/lib/dri/asahi_dri.so
ffff151ac000-ffff15270000 rw-p
ffff15270000-ffff15274000 rw-s /dev/dri/renderD128
ffff15274000-ffff15278000 rw-s /dev/dri/renderD128
ffff15278000-ffff1527c000 rw-s /dev/dri/renderD128
ffff1527c000-ffff15280000 rw-s /dev/dri/renderD128
ffff15280000-ffff15284000 r-xp /usr/lib/libxshmfence.so.1.0.0
ffff15284000-ffff15290000 ---p /usr/lib/libxshmfence.so.1.0.0
ffff15290000-ffff15294000 rw-p /usr/lib/libxshmfence.so.1.0.0
ffff15294000-ffff15298000 rw-s /dev/dri/renderD128
ffff15298000-ffff1529c000 rw-s /dev/dri/renderD128
ffff1529c000-ffff152a0000 rw-s /dev/dri/renderD128
ffff152a0000-ffff152a8000 r-xp /usr/lib/libxcb-sync.so.1.0.0
ffff152a8000-ffff152b4000 ---p /usr/lib/libxcb-sync.so.1.0.0
ffff152b4000-ffff152b8000 rw-p /usr/lib/libxcb-sync.so.1.0.0
ffff152b8000-ffff152bc000 rw-s /dev/dri/renderD128
ffff152bc000-ffff152c0000 rw-s /dev/dri/renderD128
ffff152c0000-ffff152c4000 r-xp /usr/lib/libxcb-present.so.0.0.0
ffff152c4000-ffff152d0000 ---p /usr/lib/libxcb-present.so.0.0.0
ffff152d0000-ffff152d4000 rw-p /usr/lib/libxcb-present.so.0.0.0
ffff152d4000-ffff152d8000 rw-s /dev/dri/renderD128
ffff152d8000-ffff152dc000 rw-s /dev/dri/renderD128
ffff152dc000-ffff152e0000 rw-s /dev/dri/renderD128
ffff152e0000-ffff152e4000 r-xp /usr/lib/libxcb-dri3.so.0.1.0
ffff152e4000-ffff152f0000 ---p /usr/lib/libxcb-dri3.so.0.1.0
ffff152f0000-ffff152f4000 r--p /usr/lib/libxcb-dri3.so.0.1.0
ffff152f4000-ffff152f8000 rw-p /usr/lib/libxcb-dri3.so.0.1.0
ffff152f8000-ffff152fc000 rw-s /dev/dri/renderD128
ffff152fc000-ffff15300000 rw-s /dev/dri/renderD128
ffff15300000-ffff15314000 r-xp /usr/lib/libwayland-server.so.0.22.0
ffff15314000-ffff15324000 ---p /usr/lib/libwayland-server.so.0.22.0
ffff15324000-ffff15328000 rw-p /usr/lib/libwayland-server.so.0.22.0
ffff15328000-ffff1532c000 rw-s /dev/dri/renderD128
ffff1532c000-ffff15330000 rw-s /dev/dri/renderD128
ffff15330000-ffff15348000 r-xp /usr/lib/libdrm.so.2.4.0
ffff15348000-ffff15354000 ---p /usr/lib/libdrm.so.2.4.0
ffff15354000-ffff15358000 rw-p /usr/lib/libdrm.so.2.4.0
ffff15358000-ffff1535c000 rw-s /dev/dri/renderD128
ffff1535c000-ffff15360000 rw-s /dev/dri/renderD128
ffff15360000-ffff15368000 r-xp /usr/lib/libxcb-xfixes.so.0.0.0
ffff15368000-ffff15374000 ---p /usr/lib/libxcb-xfixes.so.0.0.0
ffff15374000-ffff15378000 r--p /usr/lib/libxcb-xfixes.so.0.0.0
ffff15378000-ffff1537c000 rw-p /usr/lib/libxcb-xfixes.so.0.0.0
ffff1537c000-ffff15380000 rw-s /dev/dri/renderD128
ffff15380000-ffff15390000 r-xp /usr/lib/libxcb-randr.so.0.1.0
ffff15390000-ffff1539c000 ---p /usr/lib/libxcb-randr.so.0.1.0
ffff1539c000-ffff153a0000 r--p /usr/lib/libxcb-randr.so.0.1.0
ffff153a0000-ffff153a4000 rw-p /usr/lib/libxcb-randr.so.0.1.0
ffff153a4000-ffff153a8000 rw-s /dev/dri/renderD128
ffff153a8000-ffff153ac000 rw-s /dev/dri/renderD128
ffff153ac000-ffff153b0000 rw-s /dev/dri/renderD128
ffff153b0000-ffff153b4000 r-xp /usr/lib/libxcb-dri2.so.0.0.0
ffff153b4000-ffff153c0000 ---p /usr/lib/libxcb-dri2.so.0.0.0
ffff153c0000-ffff153c4000 r--p /usr/lib/libxcb-dri2.so.0.0.0
ffff153c4000-ffff153c8000 rw-p /usr/lib/libxcb-dri2.so.0.0.0
ffff153d0000-ffff153d4000 r-xp /usr/lib/libX11-xcb.so.1.0.0
ffff153d4000-ffff153e0000 ---p /usr/lib/libX11-xcb.so.1.0.0
ffff153e0000-ffff153e4000 rw-p /usr/lib/libX11-xcb.so.1.0.0
ffff153f0000-ffff15414000 r-xp /usr/lib/libexpat.so.1.8.10
ffff15414000-ffff15424000 ---p /usr/lib/libexpat.so.1.8.10
ffff15424000-ffff15428000 rw-p /usr/lib/libexpat.so.1.8.10
ffff15430000-ffff15474000 r-xp /usr/lib/libglapi.so.0.0.0
ffff15474000-ffff15480000 ---p /usr/lib/libglapi.so.0.0.0
ffff15480000-ffff15488000 r--p /usr/lib/libglapi.so.0.0.0
ffff15488000-ffff1548c000 rw-p /usr/lib/libglapi.so.0.0.0
ffff15490000-ffff154a0000 r-xp /usr/lib/libgbm.so.1.0.0
ffff154a0000-ffff154ac000 ---p /usr/lib/libgbm.so.1.0.0
ffff154ac000-ffff154b0000 r--p /usr/lib/libgbm.so.1.0.0
ffff154b0000-ffff154b4000 rw-p /usr/lib/libgbm.so.1.0.0
ffff154c0000-ffff15508000 r-xp /usr/lib/libEGL_mesa.so.0.0.0
ffff15508000-ffff15518000 ---p /usr/lib/libEGL_mesa.so.0.0.0
ffff15518000-ffff1551c000 r--p /usr/lib/libEGL_mesa.so.0.0.0
ffff1551c000-ffff15520000 rw-p /usr/lib/libEGL_mesa.so.0.0.0
ffff15530000-ffff15548000 r-xp /usr/lib/libEGL.so.1.1.0
ffff15548000-ffff15554000 ---p /usr/lib/libEGL.so.1.1.0
ffff15554000-ffff15558000 rw-p /usr/lib/libEGL.so.1.1.0
ffff1555c000-ffff15560000 rw-s /dev/dri/renderD128
ffff15560000-ffff15568000 r-xp /usr/lib/libXdmcp.so.6.0.0
ffff15568000-ffff15574000 ---p /usr/lib/libXdmcp.so.6.0.0
ffff15574000-ffff15578000 rw-p /usr/lib/libXdmcp.so.6.0.0
ffff15578000-ffff1557c000 rw-s /dev/dri/renderD128
ffff15580000-ffff15584000 r-xp /usr/lib/libXau.so.6.0.0
ffff15584000-ffff15590000 ---p /usr/lib/libXau.so.6.0.0
ffff15590000-ffff15594000 rw-p /usr/lib/libXau.so.6.0.0
ffff155a0000-ffff155cc000 r-xp /usr/lib/libxcb.so.1.1.0
ffff155cc000-ffff155d8000 ---p /usr/lib/libxcb.so.1.1.0
ffff155d8000-ffff155dc000 rw-p /usr/lib/libxcb.so.1.1.0
ffff155e0000-ffff15724000 r-xp /usr/lib/libX11.so.6.4.0
ffff15724000-ffff15730000 ---p /usr/lib/libX11.so.6.4.0
ffff15730000-ffff15734000 r--p /usr/lib/libX11.so.6.4.0
ffff15734000-ffff15738000 rw-p /usr/lib/libX11.so.6.4.0
ffff15740000-ffff15764000 r-xp /usr/lib/libGLX.so.0.0.0
ffff15764000-ffff15770000 ---p /usr/lib/libGLX.so.0.0.0
ffff15770000-ffff15774000 rw-p /usr/lib/libGLX.so.0.0.0
ffff15774000-ffff15784000 rw-p
ffff15790000-ffff158e8000 r-xp /usr/lib/libGLdispatch.so.0.0.0
ffff158e8000-ffff158f4000 ---p /usr/lib/libGLdispatch.so.0.0.0
ffff158f4000-ffff15910000 r--p /usr/lib/libGLdispatch.so.0.0.0
ffff15910000-ffff15914000 rw-p /usr/lib/libGLdispatch.so.0.0.0
ffff15914000-ffff1591c000 rw-p
ffff15920000-ffff159f8000 r-xp /usr/lib/libGL.so.1.7.0
ffff159f8000-ffff15a04000 ---p /usr/lib/libGL.so.1.7.0
ffff15a04000-ffff15a14000 r--p /usr/lib/libGL.so.1.7.0
ffff15a14000-ffff15a18000 rw-p /usr/lib/libGL.so.1.7.0
ffff15a20000-ffff15a60000 rwxp
ffff15a60000-ffff15aa0000 rw-p
ffff15aa0000-ffff15ae0000 rwxp
ffff15ae0000-ffff15b20000 rw-p
ffff15b20000-ffff15ba0000 rwxp
ffff15ba0000-ffff15be0000 rw-p
ffff15be0000-ffff15be8000 r-xp /usr/lib/libdecor-0.so.0.200.0
ffff15be8000-ffff15bf4000 ---p /usr/lib/libdecor-0.so.0.200.0
ffff15bf4000-ffff15bf8000 r--p /usr/lib/libdecor-0.so.0.200.0
ffff15bf8000-ffff15bfc000 rw-p /usr/lib/libdecor-0.so.0.200.0
ffff15c00000-ffff15c48000 r-xp /usr/lib/libxkbcommon.so.0.0.0
ffff15c48000-ffff15c54000 ---p /usr/lib/libxkbcommon.so.0.0.0
ffff15c54000-ffff15c58000 rw-p /usr/lib/libxkbcommon.so.0.0.0
ffff15c60000-ffff15c64000 r-xp /usr/lib/libwayland-cursor.so.0.22.0
ffff15c64000-ffff15c70000 ---p /usr/lib/libwayland-cursor.so.0.22.0
ffff15c70000-ffff15c74000 r--p /usr/lib/libwayland-cursor.so.0.22.0
ffff15c74000-ffff15c78000 rw-p /usr/lib/libwayland-cursor.so.0.22.0
ffff15c80000-ffff15c84000 r-xp /usr/lib/libwayland-egl.so.1.22.0
ffff15c84000-ffff15c90000 ---p /usr/lib/libwayland-egl.so.1.22.0
ffff15c90000-ffff15c94000 rw-p /usr/lib/libwayland-egl.so.1.22.0
ffff15ca0000-ffff15ca8000 r-xp /usr/lib/libffi.so.8.1.2
ffff15ca8000-ffff15cb8000 ---p /usr/lib/libffi.so.8.1.2
ffff15cb8000-ffff15cbc000 rw-p /usr/lib/libffi.so.8.1.2
ffff15cc0000-ffff15cd0000 r-xp /usr/lib/libwayland-client.so.0.22.0
ffff15cd0000-ffff15cdc000 ---p /usr/lib/libwayland-client.so.0.22.0
ffff15cdc000-ffff15ce0000 r--p /usr/lib/libwayland-client.so.0.22.0
ffff15ce0000-ffff15ce4000 rw-p /usr/lib/libwayland-client.so.0.22.0
ffff15cf0000-ffff15d70000 rwxp
ffff15d70000-ffff15d80000 ---p
ffff15d80000-ffff16d80000 rw-p
ffff16d80000-ffff16d90000 ---p
ffff16d90000-ffff17d90000 rw-p
ffff17d90000-ffff17db8000 r-xp /usr/lib/libgpg-error.so.0.34.0
ffff17db8000-ffff17dc4000 ---p /usr/lib/libgpg-error.so.0.34.0
ffff17dc4000-ffff17dc8000 r--p /usr/lib/libgpg-error.so.0.34.0
ffff17dc8000-ffff17dcc000 rw-p /usr/lib/libgpg-error.so.0.34.0
ffff17dd0000-ffff17df4000 r-xp /usr/lib/liblz4.so.1.9.4
ffff17df4000-ffff17e00000 ---p /usr/lib/liblz4.so.1.9.4
ffff17e00000-ffff17e04000 rw-p /usr/lib/liblz4.so.1.9.4
ffff17e10000-ffff17f00000 r-xp /usr/lib/libgcrypt.so.20.4.2
ffff17f00000-ffff17f0c000 ---p /usr/lib/libgcrypt.so.20.4.2
ffff17f0c000-ffff17f14000 r--p /usr/lib/libgcrypt.so.20.4.2
ffff17f14000-ffff17f1c000 rw-p /usr/lib/libgcrypt.so.20.4.2
ffff17f20000-ffff17f2c000 r-xp /usr/lib/libcap.so.2.69
ffff17f2c000-ffff17f38000 ---p /usr/lib/libcap.so.2.69
ffff17f38000-ffff17f3c000 rw-p /usr/lib/libcap.so.2.69
ffff17f40000-ffff18058000 r-xp /usr/lib/libsystemd.so.0.37.0
ffff18058000-ffff18064000 ---p /usr/lib/libsystemd.so.0.37.0
ffff18064000-ffff18070000 r--p /usr/lib/libsystemd.so.0.37.0
ffff18070000-ffff18074000 rw-p /usr/lib/libsystemd.so.0.37.0
ffff18080000-ffff180e0000 r-xp /usr/lib/libdbus-1.so.3.32.4
ffff180e0000-ffff180ec000 ---p /usr/lib/libdbus-1.so.3.32.4
ffff180ec000-ffff180f0000 r--p /usr/lib/libdbus-1.so.3.32.4
ffff180f0000-ffff180f4000 rw-p /usr/lib/libdbus-1.so.3.32.4
ffff180f8000-ffff183e4000 r--p /usr/lib/locale/locale-archive
ffff183e4000-ffff18424000 rw-p
ffff18424000-ffff18464000 rwxp
ffff18464000-ffff18a70000 rw-p
ffff18a70000-ffff18ab0000 rwxp
ffff18ab0000-ffff18af0000 rw-p
ffff18af0000-ffff18af4000 r-xp /usr/lib/libutil.so.1
ffff18af4000-ffff18b00000 ---p /usr/lib/libutil.so.1
ffff18b00000-ffff18b04000 rw-p /usr/lib/libutil.so.1
ffff18b34000-ffff18c40000 rw-p
ffff18c40000-ffff18c54000 r-xp /usr/lib/libgcc_s.so.1
ffff18c54000-ffff18c60000 ---p /usr/lib/libgcc_s.so.1
ffff18c60000-ffff18c64000 r--p /usr/lib/libgcc_s.so.1
ffff18c64000-ffff18c68000 rw-p /usr/lib/libgcc_s.so.1
ffff18c70000-ffff18c94000 r-xp /usr/lib/libbrotlicommon.so.1.1.0
ffff18c94000-ffff18ca0000 ---p /usr/lib/libbrotlicommon.so.1.1.0
ffff18ca0000-ffff18ca4000 rw-p /usr/lib/libbrotlicommon.so.1.1.0
ffff18cb0000-ffff18cbc000 r-xp /usr/lib/libjbig.so.2.1
ffff18cbc000-ffff18cc8000 ---p /usr/lib/libjbig.so.2.1
ffff18cc8000-ffff18ccc000 rw-p /usr/lib/libjbig.so.2.1
ffff18cd0000-ffff18d00000 r-xp /usr/lib/liblzma.so.5.4.4
ffff18d00000-ffff18d0c000 ---p /usr/lib/liblzma.so.5.4.4
ffff18d0c000-ffff18d10000 rw-p /usr/lib/liblzma.so.5.4.4
ffff18d20000-ffff18ddc000 r-xp /usr/lib/libzstd.so.1.5.5
ffff18ddc000-ffff18de8000 ---p /usr/lib/libzstd.so.1.5.5
ffff18de8000-ffff18dec000 r--p /usr/lib/libzstd.so.1.5.5
ffff18dec000-ffff18df0000 rw-p /usr/lib/libzstd.so.1.5.5
ffff18e00000-ffff1903c000 r-xp /usr/lib/libstdc++.so.6.0.30
ffff1903c000-ffff19048000 ---p /usr/lib/libstdc++.so.6.0.30
ffff19048000-ffff19058000 r--p /usr/lib/libstdc++.so.6.0.30
ffff19058000-ffff1905c000 rw-p /usr/lib/libstdc++.so.6.0.30
ffff1905c000-ffff19060000 rw-s /dev/dri/renderD128
ffff19060000-ffff19100000 r-xp /usr/lib/libbrotlienc.so.1.1.0
ffff19100000-ffff1910c000 ---p /usr/lib/libbrotlienc.so.1.1.0
ffff1910c000-ffff19110000 r--p /usr/lib/libbrotlienc.so.1.1.0
ffff19110000-ffff19114000 rw-p /usr/lib/libbrotlienc.so.1.1.0
ffff19120000-ffff1912c000 r-xp /usr/lib/libbrotlidec.so.1.1.0
ffff1912c000-ffff19138000 ---p /usr/lib/libbrotlidec.so.1.1.0
ffff19138000-ffff1913c000 rw-p /usr/lib/libbrotlidec.so.1.1.0
ffff19140000-ffff19148000 r-xp /usr/lib/libhwy.so.1.0.7
ffff19148000-ffff19154000 ---p /usr/lib/libhwy.so.1.0.7
ffff19154000-ffff19158000 r--p /usr/lib/libhwy.so.1.0.7
ffff19158000-ffff1915c000 rw-p /usr/lib/libhwy.so.1.0.7
ffff19160000-ffff19178000 r-xp /usr/lib/libz.so.1.3
ffff19178000-ffff19184000 ---p /usr/lib/libz.so.1.3
ffff19184000-ffff19188000 rw-p /usr/lib/libz.so.1.3
ffff19190000-ffff19194000 r-xp /usr/lib/libsharpyuv.so.0.0.1
ffff19194000-ffff191a0000 ---p /usr/lib/libsharpyuv.so.0.0.1
ffff191a0000-ffff191a4000 rw-p /usr/lib/libsharpyuv.so.0.0.1
ffff191a4000-ffff191a8000 rw-p
ffff191a8000-ffff191ac000 rw-s /dev/dri/renderD128
ffff191ac000-ffff191b0000 rw-s /dev/dri/renderD128
ffff191b0000-ffff19204000 r-xp /usr/lib/libwebp.so.7.1.8
ffff19204000-ffff19214000 ---p /usr/lib/libwebp.so.7.1.8
ffff19214000-ffff19218000 rw-p /usr/lib/libwebp.so.7.1.8
ffff19220000-ffff192a8000 r-xp /usr/lib/libtiff.so.6.0.2
ffff192a8000-ffff192b4000 ---p /usr/lib/libtiff.so.6.0.2
ffff192b4000-ffff192b8000 r--p /usr/lib/libtiff.so.6.0.2
ffff192b8000-ffff192bc000 rw-p /usr/lib/libtiff.so.6.0.2
ffff192c0000-ffff19340000 r-xp /usr/lib/libjpeg.so.8.3.2
ffff19340000-ffff1934c000 ---p /usr/lib/libjpeg.so.8.3.2
ffff1934c000-ffff19350000 r--p /usr/lib/libjpeg.so.8.3.2
ffff19350000-ffff19354000 rw-p /usr/lib/libjpeg.so.8.3.2
ffff19360000-ffff19564000 r-xp /usr/lib/libjxl.so.0.8.2
ffff19564000-ffff19570000 ---p /usr/lib/libjxl.so.0.8.2
ffff19570000-ffff19578000 r--p /usr/lib/libjxl.so.0.8.2
ffff19578000-ffff1957c000 rw-p /usr/lib/libjxl.so.0.8.2
ffff19580000-ffff195b8000 r-xp /usr/lib/libpng16.so.16.40.0
ffff195b8000-ffff195c4000 ---p /usr/lib/libpng16.so.16.40.0
ffff195c4000-ffff195c8000 r--p /usr/lib/libpng16.so.16.40.0
ffff195c8000-ffff195cc000 rw-p /usr/lib/libpng16.so.16.40.0
ffff195d0000-ffff195f0000 r-xp /usr/lib/libSDL2_image-2.0.so.0.600.3
ffff195f0000-ffff195fc000 ---p /usr/lib/libSDL2_image-2.0.so.0.600.3
ffff195fc000-ffff19600000 rw-p /usr/lib/libSDL2_image-2.0.so.0.600.3
ffff19604000-ffff19608000 rw-s /dev/dri/renderD128
ffff19608000-ffff1960c000 rw-s /dev/dri/renderD128
ffff1960c000-ffff19610000 rw-s /dev/dri/renderD128
ffff19610000-ffff19614000 r-xp /usr/lib/libpthread.so.0
ffff19614000-ffff19620000 ---p /usr/lib/libpthread.so.0
ffff19620000-ffff19624000 rw-p /usr/lib/libpthread.so.0
ffff19630000-ffff19634000 r-xp /usr/lib/librt.so.1
ffff19634000-ffff19640000 ---p /usr/lib/librt.so.1
ffff19640000-ffff19644000 rw-p /usr/lib/librt.so.1
ffff19650000-ffff19654000 r-xp /usr/lib/libdl.so.2
ffff19654000-ffff19660000 ---p /usr/lib/libdl.so.2
ffff19660000-ffff19664000 rw-p /usr/lib/libdl.so.2
ffff19670000-ffff19844000 r-xp /usr/lib/libSDL2-2.0.so.0.2800.4
ffff19844000-ffff19850000 ---p /usr/lib/libSDL2-2.0.so.0.2800.4
ffff19850000-ffff1985c000 r--p /usr/lib/libSDL2-2.0.so.0.2800.4
ffff1985c000-ffff19868000 rw-p /usr/lib/libSDL2-2.0.so.0.2800.4
ffff19868000-ffff1986c000 rw-p
ffff19870000-ffff198b0000 rw-p
ffff198b0000-ffff198c0000 r-xp /usr/lib/libresolv.so.2
ffff198c0000-ffff198cc000 ---p /usr/lib/libresolv.so.2
ffff198cc000-ffff198d0000 rw-p /usr/lib/libresolv.so.2
ffff198d0000-ffff198d4000 rw-p
ffff198e0000-ffff19970000 r-xp /usr/lib/libm.so.6
ffff19970000-ffff1997c000 ---p /usr/lib/libm.so.6
ffff1997c000-ffff19980000 r--p /usr/lib/libm.so.6
ffff19980000-ffff19984000 rw-p /usr/lib/libm.so.6
ffff19990000-ffff19b20000 r-xp /usr/lib/libc.so.6
ffff19b20000-ffff19b30000 ---p /usr/lib/libc.so.6
ffff19b30000-ffff19b34000 r--p /usr/lib/libc.so.6
ffff19b34000-ffff19b38000 rw-p /usr/lib/libc.so.6
ffff19b38000-ffff19b44000 rw-p
ffff19b44000-ffff19b48000 rw-s /dev/dri/renderD128
ffff19b48000-ffff19b4c000 rw-s /dev/dri/renderD128
ffff19b4c000-ffff19b54000 rw-p
ffff19b54000-ffff19b58000 r--p /dev/shm/wlroots-KpMbhJ (deleted)
ffff19b58000-ffff19b80000 rw-p
ffff19b80000-ffff19b88000 r-xp /usr/lib/libinput-config.so
ffff19b88000-ffff19b94000 ---p /usr/lib/libinput-config.so
ffff19b94000-ffff19b98000 rw-p /usr/lib/libinput-config.so
ffff19b98000-ffff19b9c000 rw-s /dev/dri/renderD128
ffff19b9c000-ffff19bc8000 r-xp /usr/lib/ld-linux-aarch64.so.1
ffff19bc8000-ffff19bd0000 r--p [vvar]
ffff19bd0000-ffff19bd4000 r-xp [vdso]
ffff19bd4000-ffff19bd8000 r--p /usr/lib/ld-linux-aarch64.so.1
ffff19bd8000-ffff19bdc000 rw-p /usr/lib/ld-linux-aarch64.so.1
ffffe7a70000-ffffe7a94000 rw-p
lethosor commented 1 year ago

I think your full output is from another DF session, because I don't see a range starting at 01a9c000 or ending at 02a04000. But I do see a bunch of duplicate ranges, like this, at similar locations in memory:

01a8c000-01aa0000 r-xp
01a8c000-01aa0000 r-xp
01aa0000-01bdc000 rwxp
01aa0000-01bdc000 rwxp
01bdc000-01be8000 r-xp
01bdc000-01be8000 r-xp
01be8000-02a04000 rwxp
01be8000-02a04000 rwxp

This is probably what's breaking the check - range X+1 having identical addresses to range X breaks the check for (X-1).end == X.start. This probably isn't too hard to check for.

I'm still not really sure why a 8-byte range would cross a range boundary, though. If you can get full output from devel/lsmem and your print statements from the same point in time, that would potentially help answer that question.

lethosor commented 1 year ago

Can you try this and see how well it works? This should skip ranges with identical addresses to the ones before them.

diff --git a/library/Core.cpp b/library/Core.cpp
index 1d4f52a56..13d0c9fd6 100644
--- a/library/Core.cpp
+++ b/library/Core.cpp
@@ -2784,6 +2784,8 @@ bool MemoryPatcher::verifyAccess(void *target, size_t count, bool write)
     unsigned end = start+1;
     while (end < ranges.size() && ranges[end].start < eptr)
     {
+        if (ranges[end].start == ranges[end-1].start && ranges[end].end == ranges[end-1].end)
+            continue;
         if (ranges[end].start != ranges[end-1].end)
             return false;
         end++;
seeschloss commented 1 year ago

Thanks and sorry I couldn't get to it earlier, your fix almost works but since that if skips the end++ it ends up infinitely looping. Adding a end++ before the continue works fine (though I suppose just combining the two tests together might be cleaner).

(and yes, it might well have been the outputs of two different sessions in my earlier comment)

lethosor commented 1 year ago

Thanks. A classic case where a for loop is helpful :)

I think this is probably the fix we'll go with. I'm still curious what's going on on box64's side.