Arisamiga / Mnemosyne

Mnemosyne is an open source disk usage utility application for AmigaOS 3.x
GNU General Public License v3.0
15 stars 4 forks source link

Damaged MungWall when entering/leaving subdirs #7

Closed bubbob42 closed 1 year ago

bubbob42 commented 1 year ago

Mnemosyne will write into non-allocated memory when entering subdirs/pressing back-button.

Mungwall log (one hit per doubleclick in listview/back-button press):

30-Okt-23 22:13:53 Rear Mung-wall at 0a315ac8 is damaged. PC : 0a2dcff0 USP: 0989e800 ( )( ) Name: Mnemosyne ----> 0a2dcff0 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 000026c8 PCa : 0a2dcf88 Name: Mnemosyne ----> 0a2dcf88 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 00002660 By : AllocPooled(0a2da5e0,00000013) Data: 00000013 00000003 00000001 00000001 00000006 00000000 00000004 00000008 Addr: 0a2da5e0 0a315ac8 0a2d6a28 0a2bf650 0a315ac8 0989e8c8 SysBase -------- Stck: 00000001 00000000 00000033 0000009b 00000002 0a2bf5e4 08fd653a 0a2f4380 Stck: 0989e9b0 081c795c 09890a2d 6a820989 e93c0a2b f6b208bc 0a2da690 0a2bf5e4 0a2dcfe0 : 5280 addq.l #$1,d0 0a2dcfe2 : 206a 0088 movea.l $88(a2),a0 0a2dcfe6 : 224c movea.l a4,a1 0a2dcfe8 : 2c78 0004 movea.l $4.w,a6 0a2dcfec : 4eae fd36 jsr -$2ca(a6) 0a2dcff0 : *302f 005c move.w $5c(a7),d0 0a2dcff4 : d16d 0014 add.w d0,$14(a5) 0a2dcff8 : 226f 002e movea.l $2e(a7),a1 0a2dcffc : 2069 0034 movea.l $34(a1),a0 W:0a315adb bb<>c0 0a 31 56 c4 0a 31 56 c8 0a 31 56 cc 0a 31 56 ..1V..1V..1V..1V 0a315aeb d0 0a 31 56 d4 0a 31 56 d8 0a 31 56 dc 0a 31 56 ..1V..1V..1V..1V

30-Okt-23 22:14:19 Rear Mung-wall at 0a315b78 is damaged. PC : 0a2dcff0 USP: 0989e800 ( )( ) Name: Mnemosyne ----> 0a2dcff0 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 000026c8 PCa : 0a2dcf88 Name: Mnemosyne ----> 0a2dcf88 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 00002660 By : AllocPooled(0a2da5e0,00000013) Data: 00000013 00000003 00000001 00000001 00000006 00000000 00000004 00000008 Addr: 0a2da5e0 0a315b78 0a2d6a28 0a2bf650 0a315b78 0989e8c8 SysBase -------- Stck: 00000001 00000000 00000033 0000009b 00000002 0a2bf5e4 08fd653a 0a2f4380 Stck: 0989e9b0 081c795c 09890a2d 6a820989 e93c0a2b f6b208bc 0a2da690 0a2bf5e4 0a2dcfe0 : 5280 addq.l #$1,d0 0a2dcfe2 : 206a 0088 movea.l $88(a2),a0 0a2dcfe6 : 224c movea.l a4,a1 0a2dcfe8 : 2c78 0004 movea.l $4.w,a6 0a2dcfec : 4eae fd36 jsr -$2ca(a6) 0a2dcff0 : *302f 005c move.w $5c(a7),d0 0a2dcff4 : d16d 0014 add.w d0,$14(a5) 0a2dcff8 : 226f 002e movea.l $2e(a7),a1 0a2dcffc : 2069 0034 movea.l $34(a1),a0 W:0a315b8b c3<>88 0a 2f 75 8c 0a 2f 75 90 0a 2f 75 94 0a 2f 75 ../u../u../u../u 0a315b9b 98 0a 2f 75 9c 0a 2f 75 a0 0a 2f 75 a4 0a 2f 75 ../u../u../u../u

30-Okt-23 22:15:34 Rear Mung-wall at 0a315c28 is damaged. PC : 0a2dcff0 USP: 0989e81c ( )( ) Name: Mnemosyne ----> 0a2dcff0 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 000026c8 PCa : 0a2dcf88 Name: Mnemosyne ----> 0a2dcf88 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 00002660 By : AllocPooled(0a2da5e0,00000012) Data: 00000012 00000003 00000001 00000001 00000006 00000000 00000004 00000008 Addr: 0a2da5e0 0a315c28 0a2d6a28 0a2bf650 0a315c28 0989e8e4 SysBase -------- Stck: 00000001 00000000 00000033 0000009b 00000002 0a2bf5e4 08fd653a 0a2f4380 Stck: 0989e9cc 081c795c 09890a2d 6a820989 e9580a2b f6b208bc 0a2da690 0a2bf5e4 0a2dcfe0 : 5280 addq.l #$1,d0 0a2dcfe2 : 206a 0088 movea.l $88(a2),a0 0a2dcfe6 : 224c movea.l a4,a1 0a2dcfe8 : 2c78 0004 movea.l $4.w,a6 0a2dcfec : 4eae fd36 jsr -$2ca(a6) 0a2dcff0 : *302f 005c move.w $5c(a7),d0 0a2dcff4 : d16d 0014 add.w d0,$14(a5) 0a2dcff8 : 226f 002e movea.l $2e(a7),a1 0a2dcffc : 2069 0034 movea.l $34(a1),a0 W:0a315c3a d3<>8f 90 0a 2f 8f 94 0a 2f 8f 98 0a 2f 8f 9c 0a 2f .../.../.../.../ 0a315c4a 8f a0 0a 2f 8f a4 0a 2f 8f a8 0a 2f 8f ac 0a 2f .../.../.../.../

30-Okt-23 22:15:36 Rear Mung-wall at 0a315cd8 is damaged. PC : 0a2dcff0 USP: 0989e7b4 ( )( ) Name: Mnemosyne ----> 0a2dcff0 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 000026c8 PCa : 0a2dcf88 Name: Mnemosyne ----> 0a2dcf88 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 00002660 By : AllocPooled(0a2da5e0,0000001e) Data: 0000001e 00000003 00000001 00000001 00000006 00000000 00000004 00000008 Addr: 0a2da5e0 0a315cd8 0a2d6a28 0a2bf650 0a315cd8 0989e87c SysBase -------- Stck: 00000001 00000000 00000033 0000009b 00000002 0a2bf5e4 08fd653a 0a2f4380 Stck: 0989e964 081c795c 09890a2d 6a820989 e8f00a2b f6b208bc 0a2da690 0a2bf5e4 0a2dcfe0 : 5280 addq.l #$1,d0 0a2dcfe2 : 206a 0088 movea.l $88(a2),a0 0a2dcfe6 : 224c movea.l a4,a1 0a2dcfe8 : 2c78 0004 movea.l $4.w,a6 0a2dcfec : 4eae fd36 jsr -$2ca(a6) 0a2dcff0 : *302f 005c move.w $5c(a7),d0 0a2dcff4 : d16d 0014 add.w d0,$14(a5) 0a2dcff8 : 226f 002e movea.l $2e(a7),a1 0a2dcffc : 2069 0034 movea.l $34(a1),a0 W:0a315cf6 b7<>14 5c 0a 30 14 60 0a 30 14 64 0a 30 14 68 0a 30 ..0.`.0.d.0.h.0 0a315d06 14 6c 0a 30 14 70 0a 30 14 74 0a 30 14 78 0a 30 .l.0.p.0.t.0.x.0

Debug tool command lines:

run sys:tools/mutools/MuForce SHOWPC VERBOSE DISPC RAWIO STACKCHECK STACKLINES=4 AREGCHECK DREGCHECK DATESTAMP DISRANGE=16 PREPMUNGWALL run sys:tools/mutools/MuGuardianAngel WAITFORMUFORCE SHOWSTACK NAMETAG DATESTAMP DISRANGE=16 SHOWHUNK DUMPWALL DREGCHECK AREGCHECK DISPC tomuforce Run >NIL: Sashimi CONSOLE BUFK=64 NOPROMPT ASKEXIT ASKSAVE WINDOW="CON:0/20/640/100/Sashimi [Ctrl]+E=Empty [Ctrl]+F=File [Ctrl]+D=Reset console/AUTO/CLOSE/WAIT/INACTIVE"

Arisamiga commented 1 year ago

Mnemosyne will write into non-allocated memory when entering subdirs/pressing back-button.

Mungwall log (one hit per doubleclick in listview/back-button press):

30-Okt-23 22:13:53� Rear Mung-wall at 0a315ac8 is damaged. PC : 0a2dcff0 USP: 0989e800 ( )( ) Name: Mnemosyne ----> 0a2dcff0 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 000026c8 PCa : 0a2dcf88 Name: Mnemosyne ----> 0a2dcf88 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 00002660 By : AllocPooled(0a2da5e0,00000013) Data: 00000013 00000003 00000001 00000001 00000006 00000000 00000004 00000008 Addr: 0a2da5e0 0a315ac8 0a2d6a28 0a2bf650 0a315ac8 0989e8c8 SysBase -------- Stck: 00000001 00000000 00000033 0000009b 00000002 0a2bf5e4 08fd653a 0a2f4380 Stck: 0989e9b0 081c795c 09890a2d 6a820989 e93c0a2b f6b208bc 0a2da690 0a2bf5e4 0a2dcfe0 : 5280 addq.l #$1,d0 0a2dcfe2 : 206a 0088 movea.l $88(a2),a0 0a2dcfe6 : 224c movea.l a4,a1 0a2dcfe8 : 2c78 0004 movea.l $4.w,a6 0a2dcfec : 4eae fd36 jsr -$2ca(a6) 0a2dcff0 : *302f 005c move.w $5c(a7),d0 0a2dcff4 : d16d 0014 add.w d0,$14(a5) 0a2dcff8 : 226f 002e movea.l $2e(a7),a1 0a2dcffc : 2069 0034 movea.l $34(a1),a0 W:0a315adb bb<>c0 0a 31 56 c4 0a 31 56 c8 0a 31 56 cc 0a 31 56 ..1V..1V..1V..1V 0a315aeb d0 0a 31 56 d4 0a 31 56 d8 0a 31 56 dc 0a 31 56 ..1V..1V..1V..1V

30-Okt-23 22:14:19� Rear Mung-wall at 0a315b78 is damaged. PC : 0a2dcff0 USP: 0989e800 ( )( ) Name: Mnemosyne ----> 0a2dcff0 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 000026c8 PCa : 0a2dcf88 Name: Mnemosyne ----> 0a2dcf88 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 00002660 By : AllocPooled(0a2da5e0,00000013) Data: 00000013 00000003 00000001 00000001 00000006 00000000 00000004 00000008 Addr: 0a2da5e0 0a315b78 0a2d6a28 0a2bf650 0a315b78 0989e8c8 SysBase -------- Stck: 00000001 00000000 00000033 0000009b 00000002 0a2bf5e4 08fd653a 0a2f4380 Stck: 0989e9b0 081c795c 09890a2d 6a820989 e93c0a2b f6b208bc 0a2da690 0a2bf5e4 0a2dcfe0 : 5280 addq.l #$1,d0 0a2dcfe2 : 206a 0088 movea.l $88(a2),a0 0a2dcfe6 : 224c movea.l a4,a1 0a2dcfe8 : 2c78 0004 movea.l $4.w,a6 0a2dcfec : 4eae fd36 jsr -$2ca(a6) 0a2dcff0 : *302f 005c move.w $5c(a7),d0 0a2dcff4 : d16d 0014 add.w d0,$14(a5) 0a2dcff8 : 226f 002e movea.l $2e(a7),a1 0a2dcffc : 2069 0034 movea.l $34(a1),a0 W:0a315b8b c3<>88 0a 2f 75 8c 0a 2f 75 90 0a 2f 75 94 0a 2f 75 ../u../u../u../u 0a315b9b 98 0a 2f 75 9c 0a 2f 75 a0 0a 2f 75 a4 0a 2f 75 ../u../u../u../u

30-Okt-23 22:15:34� Rear Mung-wall at 0a315c28 is damaged. PC : 0a2dcff0 USP: 0989e81c ( )( ) Name: Mnemosyne ----> 0a2dcff0 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 000026c8 PCa : 0a2dcf88 Name: Mnemosyne ----> 0a2dcf88 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 00002660 By : AllocPooled(0a2da5e0,00000012) Data: 00000012 00000003 00000001 00000001 00000006 00000000 00000004 00000008 Addr: 0a2da5e0 0a315c28 0a2d6a28 0a2bf650 0a315c28 0989e8e4 SysBase -------- Stck: 00000001 00000000 00000033 0000009b 00000002 0a2bf5e4 08fd653a 0a2f4380 Stck: 0989e9cc 081c795c 09890a2d 6a820989 e9580a2b f6b208bc 0a2da690 0a2bf5e4 0a2dcfe0 : 5280 addq.l #$1,d0 0a2dcfe2 : 206a 0088 movea.l $88(a2),a0 0a2dcfe6 : 224c movea.l a4,a1 0a2dcfe8 : 2c78 0004 movea.l $4.w,a6 0a2dcfec : 4eae fd36 jsr -$2ca(a6) 0a2dcff0 : *302f 005c move.w $5c(a7),d0 0a2dcff4 : d16d 0014 add.w d0,$14(a5) 0a2dcff8 : 226f 002e movea.l $2e(a7),a1 0a2dcffc : 2069 0034 movea.l $34(a1),a0 W:0a315c3a d3<>8f 90 0a 2f 8f 94 0a 2f 8f 98 0a 2f 8f 9c 0a 2f .../.../.../.../ 0a315c4a 8f a0 0a 2f 8f a4 0a 2f 8f a8 0a 2f 8f ac 0a 2f .../.../.../.../

30-Okt-23 22:15:36� Rear Mung-wall at 0a315cd8 is damaged. PC : 0a2dcff0 USP: 0989e7b4 ( )( ) Name: Mnemosyne ----> 0a2dcff0 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 000026c8 PCa : 0a2dcf88 Name: Mnemosyne ----> 0a2dcf88 - "LIBS:gadgets/button.gadget" Hunk 0 Offset 00002660 By : AllocPooled(0a2da5e0,0000001e) Data: 0000001e 00000003 00000001 00000001 00000006 00000000 00000004 00000008 Addr: 0a2da5e0 0a315cd8 0a2d6a28 0a2bf650 0a315cd8 0989e87c SysBase -------- Stck: 00000001 00000000 00000033 0000009b 00000002 0a2bf5e4 08fd653a 0a2f4380 Stck: 0989e964 081c795c 09890a2d 6a820989 e8f00a2b f6b208bc 0a2da690 0a2bf5e4 0a2dcfe0 : 5280 addq.l #$1,d0 0a2dcfe2 : 206a 0088 movea.l $88(a2),a0 0a2dcfe6 : 224c movea.l a4,a1 0a2dcfe8 : 2c78 0004 movea.l $4.w,a6 0a2dcfec : 4eae fd36 jsr -$2ca(a6) 0a2dcff0 : *302f 005c move.w $5c(a7),d0 0a2dcff4 : d16d 0014 add.w d0,$14(a5) 0a2dcff8 : 226f 002e movea.l $2e(a7),a1 0a2dcffc : 2069 0034 movea.l $34(a1),a0 W:0a315cf6 b7<>14 5c 0a 30 14 60 0a 30 14 64 0a 30 14 68 0a 30 ..0.`.0.d.0.h.0 0a315d06 14 6c 0a 30 14 70 0a 30 14 74 0a 30 14 78 0a 30 .l.0.p.0.t.0.x.0

Debug tool command lines:

run sys:tools/mutools/MuForce SHOWPC VERBOSE DISPC RAWIO STACKCHECK STACKLINES=4 AREGCHECK DREGCHECK DATESTAMP DISRANGE=16 PREPMUNGWALL run sys:tools/mutools/MuGuardianAngel WAITFORMUFORCE SHOWSTACK NAMETAG DATESTAMP DISRANGE=16 SHOWHUNK DUMPWALL DREGCHECK AREGCHECK DISPC tomuforce Run >NIL: Sashimi CONSOLE BUFK=64 NOPROMPT ASKEXIT ASKSAVE WINDOW="CON:0/20/640/100/Sashimi [Ctrl]+E=Empty [Ctrl]+F=File [Ctrl]+D=Reset console/AUTO/CLOSE/WAIT/INACTIVE"

Hello! Thanks for submitting an Issue :D

Which Version of Mnemosyne are you using? Have you tried to use the new Version 1.1.0?

Also can you let me know what OS version you are using?

bubbob42 commented 1 year ago

Hi! I used 1.0.2 from AMinet. Will retry with a newer one, thanks! :)

OS: AmigaOS3.2.2.1

bubbob42 commented 1 year ago

Checked with 1.1.0 - same issue here. It's even a bit worse, because now the "Scan" button causes the breach as well - it did not in 1.0.2

Arisamiga commented 1 year ago

Checked with 1.1.0 - same issue here. It's even a bit worse, because now the "Scan" button causes the breach as well - it did not in 1.0.2

Hello again @bubbob42 I tried to reproduce the error using the attributes you had but I wasn't able to.

Can you please let me know:

bubbob42 commented 1 year ago
  • If you are using any distribution or any patches on your machine.

No, see attached syslog and machine/software report. A4kT.txt syslog.txt

  • The steps you took to reproduce the error.

Boot, start Mnemosys from Workbench. Select drive, hit scan (breach), doubleclick subdirs (breach), hit back button (breach).

  • Have you tried to fully restarting your machine to see if you still get the error?

Yes.

bubbob42 commented 1 year ago

I tested again using another machine (A1200) with both OS3.2.2.1 and OS3.3 alpha. No problems here!

Will do some research why it produces hits on my A4000T.

Arisamiga commented 1 year ago

I tested again using another machine (A1200) with both OS3.2.2.1 and OS3.3 alpha. No problems here!

Will do some research why it produces hits on my A4000T.

Yea. I suspect it might be because of the processor but not sure. I will try to create your setup on an emulator and see if I get the same issue. If you find any other information let me know :D

bubbob42 commented 1 year ago

Will do. Both machines are 060s, only different Revs.

bubbob42 commented 1 year ago

Successfully reproduced the bug with two other machines (A2000 and A4000). It can also be triggered when the machines are booted into FailSafe mode.

WipeOut log (when hitting "Scan" button):

mnemo_wipe.txt

Other users can reproduce the bug as well. I'd suspect the chunks being allocated during recursive routine have to be a bit larger (but I didn't check the code, so just guessing here).

Arisamiga commented 1 year ago

Successfully reproduced the bug with two other machines (A2000 and A4000). It can also be triggered when the machines are booted into FailSafe mode.

WipeOut log (when hitting "Scan" button):

mnemo_wipe.txt

Other users can reproduce the bug as well. I'd suspect the chunks being allocated during recursive routine have to be a bit larger (but I didn't check the code, so just guessing here).

Alright Great! I tried it with WipeOut as well and I am able to recreate it. Gonna see what this is happening

Arisamiga commented 1 year ago

Alright, I think I might have figured this out.

@bubbob42 is there any chance you can check if this version creates the problem: Mnemosyne-1.1.0-dev.zip

bubbob42 commented 1 year ago

Hi Aris,

will try ASAP.

bubbob42 commented 1 year ago

The dev-version fixes the issue for me - very nice!