Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
173 user(s) are online (123 user(s) are browsing Forums)

Members: 4
Guests: 169

eastone, pvanni, sinisrus, NinjaCyborg, more...

Support us!

Headlines

 
  Register To Post  

ImageFx 4.1 crashes with debug kernel
Just popping in
Just popping in


See User information
I'm using ImageFx 4.1 (18.10.1999) with AmigaOS 4.1 (X5000). It is pretty stable, but if I enable debug kernel (kernel.debug on Kicklayout) and try to open ImageFx it crashes immediately, with 'Guru' 8000003. Is there any fix or workaround for this issue?

Here is the debug code:

[13:03:34:900] â[_impl_AddTask] Task = 0x6B7D1660, ETask = 0xEFE6B310, Context = 0xEFE353E0␊
[13:03:34:900] â[_impl_AddTask] Stack bottom = 0x6A6BD0A0, Stack top = 0x6A6C1090, Stack pointer = 0x6A6C1060␊
[13:03:34:900] â[_impl_AddTask] Task added to ready list␊
[13:03:34:900] â[_impl_RemTask] Removing 0x6B7D1660 (self) = WBL␊
[13:03:34:961] â[_impl_SuspendTask] Suspending self (WBL)␊
[13:03:34:961] â[_impl_AddTask] Adding Task 0x6B7D1660, ImageFX (0x6B7CC480)␊
[13:03:34:961] â[_impl_AddTask] Task = 0x6B7D1660, ETask = 0xEFE6B310, Context = 0xEFE353E0␊
[13:03:34:961] â[_impl_AddTask] Stack bottom = 0x6A6BD0A0, Stack top = 0x6A6C1090, Stack pointer = 0x6A6C1060␊
[13:03:34:961] â[_impl_AddTask] Task added to ready list␊
[13:03:34:961] â[_impl_OpenLibrary] Library "mathieeedoubtrans.library" not found␊
[13:03:34:961] â[_impl_InitResident] Initializing native autoinit mathieeedoubtrans.library V52, priority 0␊
[13:03:35:013] â[_impl_CreateLibrary] Done creating library, base at 0x6A26AA00␊
[13:03:35:013] â[_impl_InitResident] mathieeedoubtrans.library V52 initialized␊
[13:03:35:013] â[_impl_OpenLibrary] Library "ppc.library" not found␊
[13:03:35:013] â[_impl_OpenLibrary] Library "ppc.library" not found␊
[13:03:35:013] â[_impl_OpenLibrary] Library "magic.library" not found␊
[13:03:35:013] â[_impl_OpenLibrary] Library "magic.library" not found␊
[13:03:35:013] â[_impl_OpenLibrary] Library "thumbnail.library" not found␊
[13:03:35:013] â[_impl_InitResident] Making version 0 library thumbnail.library V38␊
[13:03:35:013] â[_impl_InitResident] Emulating init function at 0x6B0F5028␊
[13:03:35:056] â[_impl_OpenLibrary] Library "retina.library" not found␊
[13:03:35:056] â[_impl_OpenLibrary] Library "retina.library" not found␊
[13:03:35:056] â[_impl_OpenLibrary] Library "retinaemu.library" not found␊
[13:03:35:056] â[_impl_OpenLibrary] Library "retinaemu.library" not found␊
[13:03:35:056] â[_impl_InitResident] Init function for thumbnail.library returned 0x6AFEF3BE␊
[13:03:35:056] â[_impl_OpenLibrary] Library "post.library" not found␊
[13:03:35:124] â[_impl_InitResident] Making version 0 library post.library V22␊
[13:03:35:124] â[_impl_InitResident] Emulating init function at 0x6A19807C␊
[13:03:35:124] â[_impl_InitResident] Init function for post.library returned 0x68BCE564␊
[13:03:35:124] â[_impl_AddTask] Adding Task 0x69447600, CON/con-handler 53.82  (0x68BB88C0)␊
[13:03:35:124] â[_impl_AddTask] Task = 0x69447600, ETask = 0xEFE6B3D0, Context = 0xEFE357C0␊
[13:03:35:124] â[_impl_AddTask] Stack bottom = 0x6A6A30A0, Stack top = 0x6A6A7090, Stack pointer = 0x6A6A7060␊
[13:03:35:152] â[_impl_AddTask] Task added to ready list␊
[13:03:35:152] â[_impl_RemTask] Removing 0x69447600 (self) = CON/con-handler 53.82 âŠ
[13:03:35:152] â[_impl_SuspendTask] Suspending self (CON/con-handler 53.82 )␊
[13:03:35:152] â[_impl_AddTask] Adding Task 0x69447600, CON/con-handler 53.82  (0x68BB8BC0)␊
[13:03:35:202] â[_impl_AddTask] Task = 0x69447600, ETask = 0xEFE6B3D0, Context = 0xEFE357C0␊
[13:03:35:202] â[_impl_AddTask] Stack bottom = 0x6B1350A0, Stack top = 0x6B139090, Stack pointer = 0x6B139060␊
[13:03:35:202] â[_impl_AddTask] Task added to ready list␊
[13:03:35:202] â[_impl_RemTask] Removing 0x69447600 (self) = CON/con-handler 53.82 âŠ
[13:03:35:202] â[_impl_SuspendTask] Suspending self (CON/con-handler 53.82 )␊
[13:03:35:202] â[_impl_AddTask] Adding Task 0x69447600, CON/con-handler 53.82  (0x68BB8DC0)␊
[13:03:35:202] â[_impl_AddTask] Task = 0x69447600, ETask = 0xEFE6B3D0, Context = 0xEFE357C0␊
[13:03:35:249] â[_impl_AddTask] Stack bottom = 0x6B1350A0, Stack top = 0x6B139090, Stack pointer = 0x6B139060␊
[13:03:35:249] â[_impl_AddTask] Task added to ready list␊
[13:03:35:249] â[_impl_RemTask] Removing 0x69447600 (self) = CON/con-handler 53.82 âŠ
[13:03:35:249] â[_impl_SuspendTask] Suspending self (CON/con-handler 53.82 )␊
[13:03:35:249] â[_impl_AddTask] Adding Task 0x69447600, CON/con-handler 53.82  (0x6B122DD0)␊
[13:03:35:345] â[_impl_AddTask] Task = 0x69447600, ETask = 0xEFE6B3D0, Context = 0xEFE357C0␊
[13:03:35:345] â[_impl_AddTask] Stack bottom = 0x6B1350A0, Stack top = 0x6B139090, Stack pointer = 0x6B139060␊
[13:03:35:345] â[_impl_AddTask] Task added to ready list␊
[13:03:35:345] â[_impl_RemTask] Removing 0x69447600 (self) = CON/con-handler 53.82 âŠ
[13:03:35:345] â[_impl_SuspendTask] Suspending self (CON/con-handler 53.82 )␊
[13:03:35:345] â[_impl_AddTask] Adding Task 0x689FBC20, ARexx (0x6A167620)␊
[13:03:35:666] â[_impl_AddTask] Task = 0x689FBC20, ETask = 0xEFE6B3D0, Context = 0xEFE357C0␊
[13:03:35:666] â[_impl_AddTask] Stack bottom = 0x6A66B0A0, Stack top = 0x6A66F090, Stack pointer = 0x6A66F060␊
[13:03:35:666] â[_impl_AddTask] Task added to ready list␊
[13:03:35:666] â[HAL_DfltTrapHandler] *** Warning: Fatal exception in task 0x6B7D1660 (ImageFX, etask = 0xEFE6B310) at ip 0x0183B008␊
[13:03:35:666] â[HAL_Alert] ALERT! 0x80000003␊
[13:03:35:666] â[HAL_SuspendTaskWithUpdate] Suspending 0x6B7D1660 with state=2, DAR=0xCCCCCCD0, at IP=0x0183B008, LR=0x01848D04␊
[13:03:35:709] âkernel 54.30 (1.1.2021) AmigaOne X5000 debug␊
[13:03:35:709] âMachine model: 10 (AmigaOne X5000/40)␊
[13:03:35:709] âDump of context at 0xEFE353E0␊
[13:03:35:709] âTrap type: DSI exception␊
[13:03:35:709] âDSISR: 00800000  DAR: CCCCCCD0␊
[13:03:35:709] âNo matching page found␊
[13:03:35:709] âMachine State (raw): 0x0002F030␊
[13:03:35:709] âMachine State (verbose): [Critical Ints on] [ExtInt on] [User] [IAT on] [DAT on] âŠ
[13:03:35:709] âInstruction pointer: in module kernel.debug+0x0003B008 (0x0183B008)␊
[13:03:35:709] âCrashed process: ImageFX (0x6B7D1660)␊
[13:03:35:709] âDSI verbose error description: Access to address 0xCCCCCCD0 not allowed by page protection in user state (protection violation)␊
[13:03:35:752] âAccess was a store operation␊
[13:03:35:752] âException Syndrome Register: 0x00800000␊
[13:03:35:752] â 0: 01848D04 693AEC50 00000002 0216A968 69FB1700 6FFBC000 6BED7740 6BED7780␊
[13:03:35:752] â 8: CCCCCCCC CCCCCCCC CCCCCCCC 693AE920 35933559 0000000D 693B3004 0216A968␊
[13:03:35:752] â16: 69399004 693B2FFC 1A4ECC01 6F851000 8000000C 00016000 8000000B 8000000A␊
[13:03:35:752] â24: 80000008 FFD60001 018625C0 00000000 01848D04 02160000 0216A968 69FB1700␊
[13:03:35:752] âCR: 35933555   XER: A000007E  CTR: 0183AF94  LR: 01848D04␊
[13:03:35:795] ââŠ
[13:03:35:795] âDisassembly of crash site:␊
[13:03:35:795] â 0183AFF8: 815F0000   lwz               r10,0(r31)␊
[13:03:35:795] â 0183AFFC: 3D20CCCC   lis               r9,-13108␊
[13:03:35:795] â 0183B000: 811F0004   lwz               r8,4(r31)␊
[13:03:35:795] â 0183B004: 6129CCCC   ori               r9,r9,52428␊
[13:03:35:795] â>0183B008: 910A0004   stw               r8,4(r10)␊
[13:03:35:795] â 0183B00C: 815F0004   lwz               r10,4(r31)␊
[13:03:35:795] â 0183B010: 811F0000   lwz               r8,0(r31)␊
[13:03:35:795] â 0183B014: 910A0000   stw               r8,0(r10)␊
[13:03:35:795] â 0183B018: 913F0000   stw               r9,0(r31)␊
[13:03:35:838] â 0183B01C: 913F0004   stw               r9,4(r31)␊
[13:03:35:838] âmsr: 0x0002B032␊
[13:03:35:838] âTLB1 (64 entries):␊
[13:03:35:838] â * [ 51]: size=7 tid = 0 TS = 1 epn=0xFE000000 rpn=0x0000000F_FE000000 WIMG=0x5 XXWWRR=0xF protected␊
[13:03:35:838] â * [ 52]: size=6 tid = 0 TS = 1 epn=0x01000000 rpn=0x00000000_01000000 WIMG=0x0 XXWWRR=0x5 protected␊
[13:03:35:838] â * [ 53]: size=6 tid = 0 TS = 1 epn=0x01400000 rpn=0x00000000_01400000 WIMG=0x0 XXWWRR=0x5 protected␊
[13:03:35:838] â * [ 54]: size=6 tid = 0 TS = 1 epn=0x01800000 rpn=0x00000000_01800000 WIMG=0x0 XXWWRR=0x33 protected␊
[13:03:35:881] â * [ 55]: size=6 tid = 0 TS = 1 epn=0x01C00000 rpn=0x00000000_01C00000 WIMG=0x0 XXWWRR=0x33 protected␊
[13:03:35:881] â * [ 56]: size=5 tid = 0 TS = 1 epn=0x02000000 rpn=0x00000000_02000000 WIMG=0x0 XXWWRR=0xF protected␊
[13:03:35:881] â * [ 57]: size=5 tid = 0 TS = 1 epn=0x02100000 rpn=0x00000000_02100000 WIMG=0x0 XXWWRR=0xF protected␊
[13:03:35:881] â * [ 58]: size=5 tid = 0 TS = 1 epn=0x02200000 rpn=0x00000000_02200000 WIMG=0x0 XXWWRR=0xF protected␊
[13:03:35:881] â * [ 59]: size=4 tid = 0 TS = 1 epn=0x02300000 rpn=0x00000000_02300000 WIMG=0x0 XXWWRR=0xF protected␊
[13:03:35:924] â * [ 60]: size=4 tid = 0 TS = 1 epn=0x02340000 rpn=0x00000000_02340000 WIMG=0x0 XXWWRR=0xF protected␊
[13:03:35:924] â * [ 61]: size=7 tid = 0 TS = 0 epn=0xFE000000 rpn=0x0000000F_FE000000 WIMG=0x5 XXWWRR=0xF protected␊
[13:03:35:924] â * [ 62]: size=A tid = 0 TS = 0 epn=0x00000000 rpn=0x00000000_00000000 WIMG=0x0 XXWWRR=0x3F protected␊
[13:03:35:924] â * [ 63]: size=A tid = 0 TS = 0 epn=0x40000000 rpn=0x00000000_40000000 WIMG=0x0 XXWWRR=0x3F protected␊
[13:03:35:924] âHAL_MaxTLB = 50, HAL_NextTLB = 0␊
[13:03:35:924] âMMUCFG = 0x064809C4␊
[13:03:35:967] âmas0 = 0x103F0000␊
[13:03:35:967] âmas1 = 0xC0000A00␊
[13:03:35:967] âmas2 = 0x40000000␊
[13:03:35:967] âmas3 = 0x4000003F␊
[13:03:35:967] âmas4 = 0x00000100␊
[13:03:35:967] âmas5 = 0x00000000␊
[13:03:35:967] âmas6 = 0x00000001␊
[13:03:35:967] âmas7 = 0x00000000␊
[13:03:35:967] âmas8 = 0x00000000␊
[13:03:35:967] ââŠ
[13:03:35:967] âKernel command line: debug munge debuglevel=0␊
[13:03:35:967] ââŠ
[13:03:35:967] âRegisters pointing to code:␊
[13:03:35:967] âr0 : native kernel module kernel.debug+0x00048d04␊
[13:03:35:967] âr3 : native kernel module kernel.debug+0x0096a968␊
[13:03:35:967] âr15: native kernel module kernel.debug+0x0096a968␊
[13:03:35:967] âr26: native kernel module kernel.debug+0x000625c0␊
[13:03:35:967] âr28: native kernel module kernel.debug+0x00048d04␊
[13:03:36:010] âr29: native kernel module kernel.debug+0x00960000␊
[13:03:36:010] âr30: native kernel module kernel.debug+0x0096a968␊
[13:03:36:010] âip : native kernel module kernel.debug+0x0003b008␊
[13:03:36:010] âlr : native kernel module kernel.debug+0x00048d04␊
[13:03:36:010] âctr: native kernel module kernel.debug+0x0003af94␊
[13:03:36:010] ââŠ
[13:03:36:010] âStack trace:␊
[13:03:36:010] â(0x693AEC50) native kernel module kernel.debug+0x0003b008␊
[13:03:36:010] â(0x693AEC70) native kernel module kernel.debug+0x00048d04␊
[13:03:36:010] â(0x693AEC90) native kernel module kernel.debug+0x00026d24␊
[13:03:36:010] â(0x693AECA4) 0x6FEFD99E [cannot decode symbol]␊
[13:03:36:053] â(0x69444834) 0x70FF2B40 [cannot decode symbol]␊
[13:03:36:053] ââŠ
[13:03:36:053] âDisassembly of crash site:␊
[13:03:36:053] â 0183AFF8: 815F0000   lwz               r10,0(r31)␊
[13:03:36:053] â 0183AFFC: 3D20CCCC   lis               r9,-13108␊
[13:03:36:053] â 0183B000: 811F0004   lwz               r8,4(r31)␊
[13:03:36:053] â 0183B004: 6129CCCC   ori               r9,r9,52428␊
[13:03:36:053] â>0183B008: 910A0004   stw               r8,4(r10)␊
[13:03:36:053] â 0183B00C: 815F0004   lwz               r10,4(r31)␊
[13:03:36:053] â 0183B010: 811F0000   lwz               r8,0(r31)␊
[13:03:36:053] â 0183B014: 910A0000   stw               r8,0(r10)␊
[13:03:36:096] â 0183B018: 913F0000   stw               r9,0(r31)␊
[13:03:36:096] â 0183B01C: 913F0004   stw               r9,4(r31)␊
[13:03:36:096] âStack pointer (0x693AEC50) is inside bounds␊
[13:03:36:096] âRedzone is OK (4)␊
[13:03:36:096] ââŠ
[13:03:36:096] â68k register dump␊
[13:03:36:096] âDATA: 00000000 FFFFFFF7 000003EE 00000003 FFFFFFFF 1BE45566 00000001 00000001␊
[13:03:36:096] â----> 00000001 - "modules/preview/WindowedCGX" Hunk 0000 Offset 00000000 (SegList: 0x1A82DC01)␊
[13:03:36:096] â----> 00000001 - "modules/preview/WindowedCGX" Hunk 0000 Offset 00000000 (SegList: 0x1A82DC01)␊
[13:03:36:096] âADDR: 69FB1700 69FB1700 69FB1700 6B28F110 6B10B008 69FB1700 022CECC2 693AECA4␊
[13:03:36:140] â----> 6B10B008 - "ImageFX" Hunk 0004 Offset 00008000 (SegList: 0x1A4ECC01)␊
[13:03:36:140] â----> 022CECC2 - "kernel.debug" Hunk 0001 Offset 0018ECC2␊
[13:03:36:140] âPage information:␊
[13:03:36:140] âPage not found␊
[13:03:36:140] ââŠ
[13:03:36:140] âReady Tasks␊
[13:03:36:140] â                      MassStorage Device Task (pri   5, sigrec 0x20000000, sigwait 0xE4009000, masked 0x20000000)␊
[13:03:36:140] â                    IDF1/FastFileSystem 53.2  (pri   5, sigrec 0x20000000, sigwait 0xA8000100, masked 0x20000000)␊
[13:03:36:140] â                    IDF0/FastFileSystem 53.2  (pri   5, sigrec 0x20000000, sigwait 0xA8000100, masked 0x20000000)␊
[13:03:36:183] â                                   RexxMaster (pri   4, sigrec 0x40000100, sigwait 0xC0000000, masked 0x40000000)␊
[13:03:36:183] â                                    Workbench (pri   1, sigrec 0x80000100, sigwait 0x80000000, masked 0x80000000)␊
[13:03:36:183] â                                        ARexx (pri   0, sigrec 0x00000100, sigwait 0x00000100, masked 0x00000100)␊
[13:03:36:183] â                               TCP/IP Control (pri   0, sigrec 0x40000100, sigwait 0xF8009080, masked 0x40000000)␊
[13:03:36:226] â                                ELF Collector (pri   0, sigrec 0x00000100, sigwait 0x00000100, masked 0x00000100)␊
[13:03:36:226] â                                    hub.usbfd (pri   0, sigrec 0x10000000, sigwait 0x30000000, masked 0x10000000)␊
[13:03:36:226] â                                    hub.usbfd (pri   0, sigrec 0x10000000, sigwait 0x30000000, masked 0x10000000)␊
[13:03:36:226] â                            dos_signal_server (pri  -5, sigrec 0x00004100, sigwait 0x00000100, masked 0x00000100)␊
[13:03:36:269] â                                    idle.task (pri -128, sigrec 0x00000000, sigwait 0x00000000, masked 0x00000000)␊
[13:03:36:269] ââŠ
[13:03:36:269] âWaiting Tasks␊
[13:03:36:269] â                    MH00/FastFileSystem 53.2  (pri  10, sigrec 0x00000000, sigwait 0xA8000100, masked 0x00000000)␊
[13:03:36:269] â                   DH0/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:269] â                   DH0/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:312] â                   DH2/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:312] â                  EHCI Controller Task Unit 0 (pri  15, sigrec 0x00000000, sigwait 0xBE009000, masked 0x00000000)␊
[13:03:36:312] â                  EHCI Controller Task Unit 1 (pri  15, sigrec 0x00000000, sigwait 0xBE009000, masked 0x00000000)␊
[13:03:36:312] â                                    USB stack (pri  18, sigrec 0x00000000, sigwait 0xF800D000, masked 0x00000000)␊
[13:03:36:312] â                           dos_filedir_notify (pri   5, sigrec 0x80000100, sigwait 0x40001000, masked 0x00000000)␊
[13:03:36:355] â                   DH2/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:355] â                      p50x0sata.device Port 0 (pri  12, sigrec 0x10000000, sigwait 0xC0007000, masked 0x00000000)␊
[13:03:36:355] â                   DH1/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:355] â                   DH1/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:398] â                  DH2c/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:398] â                  DH2c/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:398] â                  DH2n/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:398] â                  DH2n/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:441] â                   DH6/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:441] â                   DH6/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:441] â                   DH7/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:441] â                   DH7/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:441] â                  HSF0/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:484] â                  HSF0/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:484] â                  HSF1/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:484] â                  HSF1/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:484] â                                 Mounter Task (pri  -1, sigrec 0x00000000, sigwait 0xB0001000, masked 0x00000000)␊
[13:03:36:527] â                                  Mounter GUI (pri   0, sigrec 0x00000000, sigwait 0x80007000, masked 0x00000000)␊
[13:03:36:527] â                    Mounter Companion Process (pri  -1, sigrec 0x00000000, sigwait 0x80003000, masked 0x00000000)␊
[13:03:36:527] â                     Workbench DosList Notify (pri   1, sigrec 0x00000000, sigwait 0x00003000, masked 0x00000000)␊
[13:03:36:527] â                               ramlib.support (pri  -2, sigrec 0x00000100, sigwait 0x80005000, masked 0x00000000)␊
[13:03:36:570] â                                       ramlib (pri   1, sigrec 0x00000100, sigwait 0x80001000, masked 0x00000000)␊
[13:03:36:570] â                                       X-Dock (pri   0, sigrec 0x00000100, sigwait 0xFE001000, masked 0x00000000)␊
[13:03:36:570] â                                    hid.usbfd (pri  10, sigrec 0x00000100, sigwait 0xE0000000, masked 0x00000000)␊
[13:03:36:570] â                                    HID Mouse (pri  10, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:36:570] â                        appdir envarc manager (pri -50, sigrec 0x80000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:613] â                  DH00/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:613] â                  DH00/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:613] â                  DH0b/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:613] â                  DH0b/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:656] â                  DH2m/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:656] â                  DH2m/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:656] â                   DH5/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:656] â                   DH5/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:699] â                  MH01/SmartFilesystem 1.293  (pri  10, sigrec 0x00000000, sigwait 0xE0000100, masked 0x00000000)␊
[13:03:36:699] â                  MH01/SmartFilesystem 1.293  (pri  11, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:699] â                      ICD0/CDFileSystem 53.8  (pri  10, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:699] â                      ICD1/CDFileSystem 53.8  (pri  10, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:699] â                           TCP/IP Superserver (pri   0, sigrec 0x00000100, sigwait 0xD0000080, masked 0x00000000)␊
[13:03:36:742] â                  RANDOM/Random-Handler 52.1  (pri   5, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:742] â                    URL/launch-handler 53.39  (pri   5, sigrec 0x00000100, sigwait 0x80000000, masked 0x00000000)␊
[13:03:36:742] â              TEXTCLIP/textclip-handler 53.4  (pri   3, sigrec 0x00000100, sigwait 0x80000000, masked 0x00000000)␊
[13:03:36:742] â                         TCP/IP Configuration (pri   0, sigrec 0x00000100, sigwait 0xF8003000, masked 0x00000000)␊
[13:03:36:785] â                             rtl8169.device.0 (pri   5, sigrec 0x00000100, sigwait 0x78008000, masked 0x00000000)␊
[13:03:36:785] â                                   TCP/IP Log (pri   0, sigrec 0x00000000, sigwait 0x80003000, masked 0x00000000)␊
[13:03:36:785] â                          select.gadget prefs (pri   0, sigrec 0x00000100, sigwait 0x80001000, masked 0x00000000)␊
[13:03:36:785] â                                         FKey (pri   0, sigrec 0x00000010, sigwait 0xC000D000, masked 0x00000000)␊
[13:03:36:828] â           texteditor.gadget Clipboard Server (pri   1, sigrec 0x00000100, sigwait 0x80000000, masked 0x00000000)␊
[13:03:36:828] â                                 ClickToFront (pri  21, sigrec 0x00000000, sigwait 0xE000D000, masked 0x00000000)␊
[13:03:36:828] â                                      AsyncWB (pri   0, sigrec 0x00000100, sigwait 0xC0001000, masked 0x00000000)␊
[13:03:36:828] â                                    IPrefs  (pri   0, sigrec 0x20000000, sigwait 0x0000F000, masked 0x00000000)␊
[13:03:36:828] â                       CON/con-handler 53.82  (pri   5, sigrec 0x00000000, sigwait 0xA0000100, masked 0x00000000)␊
[13:03:36:871] â                       CON/con-handler 53.82  (pri   5, sigrec 0x00000000, sigwait 0xA0000100, masked 0x00000000)␊
[13:03:36:871] â                                     DefIcons (pri   0, sigrec 0x00000000, sigwait 0x80009000, masked 0x00000000)␊
[13:03:36:871] â                       CON/con-handler 53.82  (pri   5, sigrec 0x00000000, sigwait 0xA0000100, masked 0x00000000)␊
[13:03:36:871] â                         string.gadget server (pri   1, sigrec 0x00000000, sigwait 0x40000000, masked 0x00000000)␊
[13:03:36:914] â                      p50x0sata.device Port 1 (pri  12, sigrec 0x10000000, sigwait 0xC0007000, masked 0x00000000)␊
[13:03:36:914] â                                  NVMe Unit 0 (pri  12, sigrec 0x00000000, sigwait 0x80000000, masked 0x00000000)␊
[13:03:36:914] â                   Workbench Clipboard Server (pri   1, sigrec 0x00000100, sigwait 0x80000000, masked 0x00000000)␊
[13:03:36:914] â                                      ConClip (pri   0, sigrec 0x00000000, sigwait 0x80000000, masked 0x00000000)␊
[13:03:36:958] â                       AUDIO/AHI-Handler 6.2  (pri   5, sigrec 0x00000000, sigwait 0x00000100, masked 0x00000000)␊
[13:03:36:958] â                      diskimage.device unit 4 (pri   4, sigrec 0x00000100, sigwait 0xC0000000, masked 0x00000000)␊
[13:03:36:958] â                      diskimage.device unit 5 (pri   4, sigrec 0x00000100, sigwait 0xC0000000, masked 0x00000000)␊
[13:03:36:958] â                      diskimage.device unit 0 (pri   4, sigrec 0x00000100, sigwait 0xC0000000, masked 0x00000000)␊
[13:03:37:001] â                      diskimage.device unit 1 (pri   4, sigrec 0x00000000, sigwait 0xC0000000, masked 0x00000000)␊
[13:03:37:001] â                                    hid.usbfd (pri  10, sigrec 0x00000100, sigwait 0xE0000000, masked 0x00000000)␊
[13:03:37:001] â                                 HID Consumer (pri  10, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:001] â                                 HID Keyboard (pri  10, sigrec 0x00000000, sigwait 0x90001000, masked 0x00000000)␊
[13:03:37:001] â                                    HID Mouse (pri  10, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:044] â                                    hid.usbfd (pri  10, sigrec 0x00000100, sigwait 0xE0000000, masked 0x00000000)␊
[13:03:37:044] â                                 HID Keyboard (pri  10, sigrec 0x00000000, sigwait 0x90001000, masked 0x00000000)␊
[13:03:37:044] â                            USB stack Process (pri   0, sigrec 0x00000100, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:044] â                 APPDIR/appdir-handler 54.17  (pri   5, sigrec 0x00000100, sigwait 0x80000000, masked 0x00000000)␊
[13:03:37:087] â                         MassStorage Notifier (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:087] â                                  DST watcher (pri   0, sigrec 0x00000000, sigwait 0xC0000000, masked 0x00000000)␊
[13:03:37:087] â            application.library messageserver (pri   0, sigrec 0x00000000, sigwait 0xC0000000, masked 0x00000000)␊
[13:03:37:087] â                                  KDebug Task (pri   0, sigrec 0x00000000, sigwait 0x80000000, masked 0x00000000)␊
[13:03:37:130] â                       RAM/ram-handler 54.24  (pri  10, sigrec 0x00000100, sigwait 0x80000000, masked 0x00000000)␊
[13:03:37:130] â                       ENV/env-handler 54.18  (pri   5, sigrec 0x00000100, sigwait 0x80000000, masked 0x00000000)␊
[13:03:37:130] â                       CON/con-handler 53.82  (pri   5, sigrec 0x00000000, sigwait 0xA0000100, masked 0x00000000)␊
[13:03:37:130] â                       RAW/con-handler 53.82  (pri   5, sigrec 0x00000000, sigwait 0xA0000100, masked 0x00000000)␊
[13:03:37:130] â                       CON/con-handler 53.82  (pri   5, sigrec 0x00000000, sigwait 0xA0000100, masked 0x00000000)␊
[13:03:37:173] â                          SFS DosList handler (pri  19, sigrec 0x00000000, sigwait 0x80000000, masked 0x00000000)␊
[13:03:37:173] â                             dos_nbmd_process (pri   5, sigrec 0x00000000, sigwait 0x00001100, masked 0x00000000)␊
[13:03:37:173] â                             dos_lock_handler (pri   5, sigrec 0x00000000, sigwait 0x00001100, masked 0x00000000)␊
[13:03:37:173] â                                    hub.usbfd (pri   0, sigrec 0x00000000, sigwait 0x30000000, masked 0x00000000)␊
[13:03:37:216] â                                    hub.usbfd (pri   0, sigrec 0x00000000, sigwait 0x30000000, masked 0x00000000)␊
[13:03:37:216] â                       DMA2 Channel 4 Handler (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:216] â                       DMA1 Channel 4 Handler (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:216] â                       DMA2 Channel 3 Handler (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:259] â                       DMA1 Channel 3 Handler (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:259] â                       DMA2 Channel 2 Handler (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:259] â                       DMA1 Channel 2 Handler (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:259] â                       DMA2 Channel 1 Handler (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:259] â                       DMA1 Channel 1 Handler (pri   0, sigrec 0x00000000, sigwait 0x80001000, masked 0x00000000)␊
[13:03:37:302] â                     Exec Command and Control (pri  30, sigrec 0x00000000, sigwait 0x80000000, masked 0x00000000)␊
[13:03:37:302] â                                       rhd_gc (pri 100, sigrec 0x00000000, sigwait 0x80000001, masked 0x00000000)␊
[13:03:37:302] ââŠ
[13:03:37:302] âSuspended Tasks␊
[13:03:37:302] ââŠ
[13:03:37:302] ââŠ
[13:03:37:302] â[_impl_AddTask] Adding Task 0x689FBDA0, Background CLI (0x6A167520)␊
[13:03:37:302] â[_impl_AddTask] Task = 0x689FBDA0, ETask = 0xEFE6B0D0, Context = 0xEFE6D7C0␊
[13:03:37:340] â[_impl_AddTask] Stack bottom = 0x6A6700A0, Stack top = 0x6A674090, Stack pointer = 0x6A674060␊
[13:03:37:340] â[_impl_AddTask] Task added to ready list␊
[13:03:37:340] â[_impl_RemTask] Removing 0x689FBC20 (self) = ARexx␊
[13:03:37:340] â[_impl_SuspendTask] Suspending self (ARexx)␊
[13:03:37:340] â[_impl_SetTaskTrap] Trap at 0x689FC6D8: Code = 0x7F61C368, Data = 0x00000000␊
[13:03:37:377] â[_impl_SetTaskTrap] Trap at 0x689FC6E8: Code = 0x7F61C368, Data = 0x00000000␊
[13:03:37:377] â[_impl_SetTaskTrap] Trap at 0x689FC6F8: Code = 0x7F61C368, Data = 0x00000000␊
[13:03:37:377] â

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Home away from home
Home away from home


See User information
@Rolar
Quote:
Is there any fix or workaround for this issue?
No, it's a bug in ImageFX.
The debug kernel sets some data pointers which are documented to be uninitialised to special values, in this case 0xCCCCCCCC, to make it easier find such bugs by intentionally making software crash accessing invalid pointers.
Developers of AmigaOS 4.x software with such bugs in their code can check the stack trace to get the source file name and line number of the broken code.
For using old, broken software using the non-debug kernel instead is the only option, but even if it doesn't crash immediately with the non-debug kernel it may still crash later "randomly".

There is a newer version 4.5 of ImageFX, but I don't know if this bug is fixed in it.

Someone with access to the kernel sources could check in which parts 0xCCCCCCCC is used, other special values used in the debug kernels are for example 0xDEADBEEF, 0xDEADC0DE, 0xABADCAFE, etc., and by checking which special value is used in which parts it may be possible to find out which functions or which data types are used in a wrong way. But that would only help for still developed AmigaOS 4.x software, not for old AmigaOS 3.x/m68k software.


Edited by joerg on 2023/5/12 16:05:38
Go to top
Re: ImageFx 4.1 crashes with debug kernel
Just popping in
Just popping in


See User information
Quote:
Someone with access to the kernel sources could check in which parts 0xCCCCCCCC is used...

I've no access to the sources, but according to the wiki:

Quote:
If the value is 0xCCCCCCCC (or thereabouts), then you have tried to free a Node a second time.

And:

Quote:
One common mistake when dealing with lists is to access successor and/or previous pointers from a removed node. ... To help spotting such errors the debug kernel will modify the ln_Succ/ln_Prev pointer to a given fixed invalid value...

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Quite a regular
Quite a regular


See User information
@Rolar

ImageFX has always failed this way on startup with a debug kernel. It just shows what sloppy code we got away with back in those days. In this case, accessing the Prev/Next pointers in a node that has just been removed from a list. Another frequent coding error is to free some memory, then access something within it in the hope that it hasn't yet been destroyed.

The debug kernel shows up these and other glaring errors, at the expense of a slight speed decrease. Any programmer worth their salt will only ever run with the debug kernel, as the "release" version is likely to crash the whole system in the same circumstances.

Fortunately, the Grim reaper allows the user to "Ignore DSI Errors" and continue from a crash. ImageFX runs OK after that.

cheers
tony
Go to top
Re: ImageFx 4.1 crashes with debug kernel
Just popping in
Just popping in


See User information
@tonywQuote:
It just shows what sloppy code we got away with back in those days. In this case, accessing the Prev/Next pointers in a node that has just been removed from a list. Another frequent coding error ...


Actually it is not necessarily a bug/coding error. Docs do not say that accessing Prev/Next after removing from list is forbidden (for example on a private list, not some shared msgport list like window userport) and furthermore the internal implementation of list functions is exposed in assembly header "exec/lists.i".

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Quite a regular
Quite a regular


See User information
@Georg

OK, it was not forbidden by law or documentation in those days, but it is dangerous and certain to cause a crash some time.

The only safe way to get the Next node AND remove the old one from the list is to:
(1) Get the next node first;
(2) Remove the old node.

Of course, you should have unique ownership of the list when you do that, to prevent other tasks interrupting and changing the list while you are trying to do the same.

We are trying to reduce the amount of internal structure that is exposed to the user. What was tolerated in the days of 68k assembler is often deprecated now.

cheers
tony
Go to top
Re: ImageFx 4.1 crashes with debug kernel
Home away from home
Home away from home


See User information
@Georg
Quote:
Docs do not say that accessing Prev/Next after removing from list is forbidden
They do:
exec.library/Remove
[...]
   
NOTES
        
As of V50, this function modifies the ln_Succ and ln_Pred
        pointers to prevent disaster from Removing a node twice
.
[...]


Edited by joerg on 2023/5/13 15:01:45
Go to top
Re: ImageFx 4.1 crashes with debug kernel
Just popping in
Just popping in


See User information
@joerg

Well, but then basically you break backwards compatibility with older code which may rely on the fact that previously Remove was known and sort of documented not to modify ln_Succ/ln_Pred. Accessing ln_Succ/ln_Pred is/was not automatically a bug. It could still be correct/non-broken/non-crashing code, maybe something like this (of course not doing it like this is always better).

node = list->lh_Head;
while (
node->ln_Succ)
{
   
Remove(node);
   
/* do something (but not dealloc node) */
   
node = node->ln_Succ;
}


So there will be code out there in the wild accessing ln_Succ/ln_Pred which is really buggy, but also code out there in the wild accessing ln_Succ/ln_Pred which is not buggy at all. I don't know the ratio. But you now will get this crash/DSI thing, which sometime may "prevent disaster" and sometime just be a false alarm or maybe even "create disaster" as the formerly safe code no longer can traverse through the whole list as ln_Succ/ln_Pred after Remove() no longer points to the (former) next/previous node.

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Just popping in
Just popping in


See User information
Quote:
Fortunately, the Grim reaper allows the user to "Ignore DSI Errors"


Okay, if it is a real bug of accessing ln_Succ after Remove(). But if it isn't (the user doesn't know) then some code supposed to be executed on maybe all list's node isn't being done as the ln_Succ Poking by Remove() prevents that.

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Home away from home
Home away from home


See User information
@Georg
Using such broken code might have been an excuse for ImageFX version 4.1 (from 1999), but not for the current version 4.5 which was released in 2020.

The AmigaOS 4.x exec isn't based on any of the AmigaOS 0.9-3.x exec sources (at least 95% of it was useless m68k assembler code anyway) and for most parts there was no reason to duplicate bugs in the old implementations.

Backward compatibility to broken AmigaOS 3.x software was always a low priority in AmigaOS 4.x development, and for some important software there is, or was, a config file to add workarounds.

Making broken software crash isn't even something new in AmigaOS 4.x, AmigaOS 1.x-3.x debugging tools like Enforcer, Wipeout, MemGuard, GuardianAngel, etc., did something similar 20-25 years ago already.

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Home away from home
Home away from home


See User information
@Georg
Quote:
Okay, if it is a real bug of accessing ln_Succ after Remove(). But if it isn't (the user doesn't know) then some code supposed to be executed on maybe all list's node isn't being done as the ln_Succ Poking by Remove() prevents that.
The exec AutoDoc includes a working example code for it:
EXAMPLE
    
/* If traversing 'list' with GetHead/GetSucc and nodes may at
     * some point be Remove()ed, it is not permitted to read any of
     * the node linkage fields after it has left the list, as removing
     * the node invalidates the list pointers, therefore, it is 
     * necessary to determine the successor before removal.
     * Note; when using these functions, don't check the 
     * currentNode->ln_Succ, just for currentNode != NULL.
     */
    
struct Node *currentNode, *nextNode;

    for (
currNode=IExec->GetHead(list);
         
currentNode != NULL;
         
currentNode = nextNode)
    {
         
nextNode = IExec->GetSucc(currentNode);

         
/* Now do something with currentNode. */
         /* This may include node removal from list. EG:- */

         
if( some_condition )
         {
              
IExec->Remove(currentNode);
         }
    }

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Home away from home
Home away from home


See User information
I have to agree with Joerg and Tony here, attempting to traverse a list whilst modifying it has always been a bad coding behaviour, and the fact you could get away withit was just "luck". Try it with a C++ list where the equivalent node structiue is fully encapsulated and bad stuff will happen if you don't do it the right way.

But as regards to backward compatabilty, the crash is only enforced with the debug kernal, which is for developers and debugging and should not generally be used by end users.

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Amigans Defender
Amigans Defender


See User information
Even in Java..

i'm really tired...
Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project