XAD freezes system when reading CPIO archives

A forum for general AmigaOS 4.x support questions that are not platform-specific
Post Reply
User avatar
Hypex
Beta Tester
Beta Tester
Posts: 645
Joined: Mon Dec 20, 2010 2:23 pm
Location: Vic. Australia.

XAD freezes system when reading CPIO archives

Post by Hypex »

Hello. This will be one bug report of many I am sure. I have collected a few in the past. Some aren't as detailed due to randomness but this will be.

Okay. Whenever I access a CPIO archive from a client such as UnArc or DirOpus my system is frozen. I can recover from soft boot. A CPIO archive is for all purposes like a Linux Ext2 filesystem image.

Here is UnArc debug buffer:
Hidden Text - Click to Show :
Dump of context at 0xEFCA57C0
Trap type: DSI exception
Machine State (raw): 0x0000F030
Machine State (verbose): [ExtInt on] [User] [FPU on] [IAT on] [DAT on]
Instruction pointer: 0x7FD79F58
Crashed process: UnArc (0x604F69A0)
DSI verbose error description: Access not found in hash or BAT (page fault)
Access was a store operation
0: 00000000 60973250 11E78C97 609AC310 5B9186B1 5DB61000 FFFFFFEE FFFFFFEE
8: 5B921008 00000002 000001CA 7FD79EC8 59B35353 80030009 5B53AC08 5FBB0000
16: 00000000 00000000 00000000 00000000 0000A001 EDB88320 5DB69B28 6013B464
24: 5DB69B16 6013B3FC 000001B8 00000000 600C5474 600C5428 7FD7F7DC 6013B464
CR: 59B35335 XER: C0008B6E CTR: FFFF74D8 LR: 7FD7F990
DSISR: 42000000 DAR: 5DB60FFF

FP0 : FFF8000082004000 0000000000000000 FF00000401000F00 4083500000000000
FP4 : 403F000000000000 40843E6660000000 407A9CCCC0000000 00000000618B3056
FP8 : 000000120009000C 0001FFFF00DF0030 0A0A0A0A0A0A0A0A 406FE00000000000
FP12: FFF8000000010000 40F0000000000000 AC5BEBF7D8E2F8FA 180D47ACC7EE6A5A
FP16: BC0B3D75F75773F8 B0AFEFDEF13BF27F FBFF7BCE7F7AEC7F 7D73EBDF95B3FE39
FP20: BA5F8FAF5EE0AE43 FB0B5F3E159DF816 3F4F83FA1DFA7ADC 6BB59FD0BE54FDB2
FP24: 683EFFEEFDC9EE9B BEDF3DAE5DE2ECFF A54FD7CFE5DDFDE6 B61F696ECFBEFFD1
FP28: 7F5BEEED4FE2D679 3C5A3BAE076844BF B85FEBBE5E22EEBF 1F1001C38F7BFEF8
FPSCR: 82004000

Registers pointing to code:
r11: module LIBS:xadmaster.library at 0x7FD79EC8 (section 5 @ 0x1EA8)
r14: module UnArc at 0x5B53AC08 (section 6 @ 0xBE8)
r30: module LIBS:xadmaster.library at 0x7FD7F7DC (section 5 @ 0x77BC)
ip : module LIBS:xadmaster.library at 0x7FD79F58 (section 5 @ 0x1F38)
lr : module LIBS:xadmaster.library at 0x7FD7F990 (section 5 @ 0x7970)
ctr: unknown (0xFFFF74D8)

Stack Backtrace:
(0x60973250) module LIBS:xadmaster.library at 0x7FD79F58 (section 5 @ 0x1F38)
(0x60973280) module Kickstart/kernel at 0x01842684 (section 0 @ 0x42688)
(0x609732D0) module LIBS:xadmaster.library at 0x7FD794C8 (section 5 @ 0x14A8)
(0x60973300) module LIBS:xadmaster.library at 0x7FD798A8 (section 5 @ 0x1888)
(0x60973370) module LIBS:xadmaster.library at 0x7FD7933C (section 5 @ 0x131C)
(0x60973380) module LIBS:xadmaster.library at 0x7FD95594 (section 5 @ 0x1D574)
(0x60973450) module LIBS:xadmaster.library at 0x7FD815A8 (section 5 @ 0x9588)
(0x609734A0) module LIBS:xadmaster.library at 0x7FD78128 (section 5 @ 0x108)
(0x60973520) module UnArc at 0x7F3A7F20 (section 5 @ 0x2F00)
(0x60973780) module UnArc at 0x7F3A92F8 (section 5 @ 0x42D8)
(0x60973B40) module UnArc at 0x7F3AA0D4 (section 5 @ 0x50B4)
(0x60973EB0) UnArc:_start()+0x688 (section 1 @ 0x8C4)
(0x60973F90) module Kickstart/dos.library.kmod at 0x0191B3A4 (section 0 @ 0x1B528)
(0x60973FC0) module Kickstart/kernel at 0x0183CD50 (section 0 @ 0x3CD54)
(0x60973FD0) module Kickstart/kernel at 0x0183CDD0 (section 0 @ 0x3CDD4)
(0x60973FE0)

Disassembly of crash site:
7FD79F48: 7CC903A6 mtctr r6
7FD79F4C: 7C843214 add r4,r4,r6
7FD79F50: 7CA53214 add r5,r5,r6
7FD79F54: 8C04FFFF lbzu r0,-1(r4)
>7FD79F58: 9C05FFFF stbu r0,-1(r5)
7FD79F5C: 4200FFF8 bdnz+ 0x7FD79F54
7FD79F60: 4E800020 blr
7FD79F64: 54C0F0BF rlwinm. r0,r6,30,2,31
7FD79F68: 7C843214 add r4,r4,r6
7FD79F6C: 7CA53214 add r5,r5,r6
Stack pointer (0x60973250) is inside bounds
Redzone is OK (4)

68k register dump
DATA: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ADDR: 021A6876 5FA48008 00000000 00000000 00000000 00000000 00000000 60973230
----> 021A6876 - "Kickstart/kernel" Hunk 0001 Offset 00156872
Page information:
Page not found


Dump of context at 0xEFB98000
Trap type: DSI exception
Machine State (raw): 0x0000D030
Machine State (verbose): [ExtInt on] [User] [IAT on] [DAT on]
Instruction pointer: in module Kickstart/kernel+0x00017D94 (0x01817D94)
Crashed process: (0x5C144640)
DSI verbose error description: Access not found in hash or BAT (page fault)
Access was a store operation
0: 5DB69FDC 5FA58B80 D91263C8 5DB69FDC 5DB69FDC 00000000 00000010 02092AB4
8: 00010000 00000000 0181B6C4 5DB69910 24444284 00201254 5FA58D74 5C144640
16: 00000001 6007D52C 021A0000 00000001 00000000 021A6876 020930C6 00001000
24: 00000000 021A0000 00000000 EFFF6000 00000000 5DB69FDC 5DB69FD0 02092AB4
CR: 88224248 XER: 40001678 CTR: 01817DA0 LR: 0182E334
DSISR: 42000000 DAR: 00000004

Registers pointing to code:
r7 : module Kickstart/kernel at 0x02092AB4 (section 1 @ 0x42AB8)
r10: module Kickstart/kernel at 0x0181B6C4 (section 0 @ 0x1B6C8)
r18: module Kickstart/kernel at 0x021A0000 (section 1 @ 0x150004)
r21: module Kickstart/kernel at 0x021A6876 (section 1 @ 0x15687A)
r22: module Kickstart/kernel at 0x020930C6 (section 1 @ 0x430CA)
r25: module Kickstart/kernel at 0x021A0000 (section 1 @ 0x150004)
r31: module Kickstart/kernel at 0x02092AB4 (section 1 @ 0x42AB8)
ip : module Kickstart/kernel at 0x01817D94 (section 0 @ 0x17D98)
lr : module Kickstart/kernel at 0x0182E334 (section 0 @ 0x2E338)
ctr: module Kickstart/kernel at 0x01817DA0 (section 0 @ 0x17DA4)
Here is DirOpus crashlog:
Hidden Text - Click to Show :
Dump of context at 0xEFB55BA0
Trap type: DSI exception
Machine State (raw): 0x0000F030
Machine State (verbose): [ExtInt on] [User] [FPU on] [IAT on] [DAT on]
Instruction pointer: 0x7FD81F58
Crashed process: DirectoryOpus (0x6128F640)
DSI verbose error description: Access not allowed by page or BAT protection (protection violation)
Access was a store operation
0: 0000000F 5F6992C0 00000000 617F1410 5CEAAEA9 5D6D0000 FFFFFFEE FFFFFFEE
8: 5CEAB008 00000002 00000152 7FD81EC8 48244042 5FC217A0 00000000 5FC20000
16: 5FC20000 00000000 00000000 00000000 0000A001 EDB88320 5D6D02B8 61269124
24: 5D6D02A6 612690BC 00000140 00000000 5E804764 5E804718 7FD877DC 61269124
CR: 48244024 XER: 00000000 CTR: FFFFFD48 LR: 7FD87990
DSISR: 0A000000 DAR: 5D6CFFFF

FP0 : FFF8000082004000 0000000000000000 4040800000000000 0000000000000000
FP4 : 0000000000000000 40967F3340000000 403ECCCCC0000000 0000000000000000
FP8 : 0000000000000000 4060000000000000 40967F3340000000 403ECCCCC0000000
FP12: 4096800000000000 4050000000000000 0000000000000000 0000000000000000
FP16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FP20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FP24: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FP28: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPSCR: 82004000

Registers pointing to code:
r11: module LIBS:xadmaster.library at 0x7FD81EC8 (section 5 @ 0x1EA8)
r30: module LIBS:xadmaster.library at 0x7FD877DC (section 5 @ 0x77BC)
ip : module LIBS:xadmaster.library at 0x7FD81F58 (section 5 @ 0x1F38)
lr : module LIBS:xadmaster.library at 0x7FD87990 (section 5 @ 0x7970)
ctr: unknown (0xFFFFFD48)

Stack Backtrace:
(0x5F6992C0) module LIBS:xadmaster.library at 0x7FD81F58 (section 5 @ 0x1F38)
(0x5F6992F0) module Kickstart/kernel at 0x01842684 (section 0 @ 0x42688)
(0x5F699340) module LIBS:xadmaster.library at 0x7FD814C8 (section 5 @ 0x14A8)
(0x5F699370) module LIBS:xadmaster.library at 0x7FD818A8 (section 5 @ 0x1888)
(0x5F6993E0) module LIBS:xadmaster.library at 0x7FD8133C (section 5 @ 0x131C)
(0x5F6993F0) module LIBS:xadmaster.library at 0x7FD9D594 (section 5 @ 0x1D574)
(0x5F6994C0) module LIBS:xadmaster.library at 0x7FD895A8 (section 5 @ 0x9588)
(0x5F699510) module DirectoryOpus at 0x7F374944 (section 5 @ 0x1924)
(0x5F699810) module DirectoryOpus at 0x7F38CAE0 (section 5 @ 0x19AC0)
(0x5F699A00) module DirectoryOpus at 0x7F376460 (section 5 @ 0x3440)
(0x5F699A30) module DirectoryOpus at 0x7F39EE98 (section 5 @ 0x2BE78)
(0x5F699E10) module DirectoryOpus at 0x7F3B89DC (section 5 @ 0x459BC)
(0x5F69A230) module DirectoryOpus at 0x7F3BA590 (section 5 @ 0x47570)
(0x5F69A2E0) module DirectoryOpus at 0x7F37FE70 (section 5 @ 0xCE50)
(0x5F69A850) module DirectoryOpus at 0x7F388358 (section 5 @ 0x15338)
(0x5F69AD00) module Kickstart/newlib.library.kmod at 0x01A2B504 (section 0 @ 0x1F48)
(0x5F69AD70) module Kickstart/newlib.library.kmod at 0x01A2C198 (section 0 @ 0x2BDC)
(0x5F69AF10) module Kickstart/newlib.library.kmod at 0x01A2C314 (section 0 @ 0x2D58)
(0x5F69AF50) DirectoryOpus:_start()+0x170 (section 1 @ 0x170)
(0x5F69AF90) module Kickstart/dos.library.kmod at 0x0191B3A4 (section 0 @ 0x1B528)
(0x5F69AFC0) module Kickstart/kernel at 0x0183CD50 (section 0 @ 0x3CD54)
(0x5F69AFD0) module Kickstart/kernel at 0x0183CDD0 (section 0 @ 0x3CDD4)
(0x5F69AFE0)

Disassembly of crash site:
7FD81F48: 7CC903A6 mtctr r6
7FD81F4C: 7C843214 add r4,r4,r6
7FD81F50: 7CA53214 add r5,r5,r6
7FD81F54: 8C04FFFF lbzu r0,-1(r4)
>7FD81F58: 9C05FFFF stbu r0,-1(r5)
7FD81F5C: 4200FFF8 bdnz+ 0x7FD81F54
7FD81F60: 4E800020 blr
7FD81F64: 54C0F0BF rlwinm. r0,r6,30,2,31
7FD81F68: 7C843214 add r4,r4,r6
7FD81F6C: 7CA53214 add r5,r5,r6
Stack pointer (0x5F6992C0) is inside bounds
Redzone is OK (4)

68k register dump
DATA: 00000000 00000003 00000000 00000000 00000000 00000000 00000000 00000000
ADDR: 021A6876 5AA21008 00000000 00000000 00000000 00000000 00000000 5F6992A0
----> 021A6876 - "Kickstart/kernel" Hunk 0001 Offset 00156872
Page information:
Page 0xEFB46138:
Virtual Address: 0x5D6CF000
Physical Address: 0x14BE8000
Lock count: 2
Flags: (Swappable) (NonCache) (Mapped)

Dump of context at 0xEFB3F7C0
Trap type: DSI exception
Machine State (raw): 0x0000D030
Machine State (verbose): [ExtInt on] [User] [IAT on] [DAT on]
Instruction pointer: in module Kickstart/kernel+0x00017D94 (0x01817D94)
Crashed process: (0x5D326050)
DSI verbose error description: Access not found in hash or BAT (page fault)
Access was a store operation
0: 0EF6480F 5A9EFB80 00000000 5D6D0FDC 5D6D0FDC 00000000 00000010 02092AB4
8: 00010000 0D70909C 0181B6C4 5D6D00B0 24444084 00000000 5A9EFD74 5D326050
16: 5CC8C210 44444028 021A0000 00000001 00000000 021A6876 020930C6 00001000
24: 00000000 021A0000 00000000 EFFF6000 00000000 5D6D0FDC 5D6D0FD0 02092AB4
CR: 88224048 XER: 00000000 CTR: 01817DA0 LR: 0182E334
DSISR: 42000000 DAR: 0D7090A0

Registers pointing to code:
r7 : module Kickstart/kernel at 0x02092AB4 (section 1 @ 0x42AB8)
r10: module Kickstart/kernel at 0x0181B6C4 (section 0 @ 0x1B6C8)
r18: module Kickstart/kernel at 0x021A0000 (section 1 @ 0x150004)
r21: module Kickstart/kernel at 0x021A6876 (section 1 @ 0x15687A)
r22: module Kickstart/kernel at 0x020930C6 (section 1 @ 0x430CA)
r25: module Kickstart/kernel at 0x021A0000 (section 1 @ 0x150004)
r31: module Kickstart/kernel at 0x02092AB4 (section 1 @ 0x42AB8)
ip : module Kickstart/kernel at 0x01817D94 (section 0 @ 0x17D98)
lr : module Kickstart/kernel at 0x0182E334 (section 0 @ 0x2E338)
ctr: module Kickstart/kernel at 0x01817DA0 (section 0 @ 0x17DA4)
Here is a link to such a CPIO archive that will reproduce the crash:
http://home.lizzy.com.au/dmaen/debugging/initrd.gz

You can extract the CPIO with UnArc. * It is called initrd. Then use UnArc again or DirOpus to "look" at the file. Time stops. :-)

* BTW I've noticed that OWB and IBrowse wil unpack a .gz as they download.
User avatar
broadblues
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 600
Joined: Sat Jun 18, 2011 2:40 am
Location: Portsmouth, UK
Contact:

Re: XAD freezes system when reading CPIO archives

Post by broadblues »

There definetly seems to be a problem here, however I believe XAD maybe a 'contribution' rather than an official part of AmigaOS 4 so you might have to report your bug to the XAD project itself.
User avatar
Hypex
Beta Tester
Beta Tester
Posts: 645
Joined: Mon Dec 20, 2010 2:23 pm
Location: Vic. Australia.

Re: XAD freezes system when reading CPIO archives

Post by Hypex »

Thanks for the reponse. As I understand it XAD is part of UnArc. And so installed along with the OS. However I will check.

Is UnArc and it's dependant libraies considered part of the OS? I know there is another called XPK IIRC but I thought we had XAD as standard.
User avatar
Rigo
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 360
Joined: Mon Jan 17, 2011 9:42 pm

Re: XAD freezes system when reading CPIO archives

Post by Rigo »

UnArc uses the XAD library and clients, but it's not part of it. UnArc is part of OS4, whereas XAD is released under GPL at http://sourceforge.net/projects/libxad/ and included with OS4 as a contribution.

Simon
Post Reply