Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
24 user(s) are online (18 user(s) are browsing Forums)

Members: 0
Guests: 24

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_AddTaskTask 0x6B7D1660ETask 0xEFE6B310Context 0xEFE353E0␊
[13:03:34:900␍[_impl_AddTaskStack bottom 0x6A6BD0A0Stack top 0x6A6C1090Stack pointer 0x6A6C1060␊
[13:03:34:900␍[_impl_AddTaskTask added to ready list␊
[13:03:34:900␍[_impl_RemTaskRemoving 0x6B7D1660 (self) = WBL␊
[13:03:34:961␍[_impl_SuspendTaskSuspending self (WBL)␊
[13:03:34:961␍[_impl_AddTaskAdding Task 0x6B7D1660ImageFX (0x6B7CC480)␊
[13:03:34:961␍[_impl_AddTaskTask 0x6B7D1660ETask 0xEFE6B310Context 0xEFE353E0␊
[13:03:34:961␍[_impl_AddTaskStack bottom 0x6A6BD0A0Stack top 0x6A6C1090Stack pointer 0x6A6C1060␊
[13:03:34:961␍[_impl_AddTaskTask added to ready list␊
[13:03:34:961␍[_impl_OpenLibraryLibrary "mathieeedoubtrans.library" not found␊
[13:03:34:961␍[_impl_InitResidentInitializing native autoinit mathieeedoubtrans.library V52priority 0␊
[13:03:35:013␍[_impl_CreateLibraryDone creating librarybase at 0x6A26AA00␊
[13:03:35:013␍[_impl_InitResidentmathieeedoubtrans.library V52 initialized␊
[13:03:35:013␍[_impl_OpenLibraryLibrary "ppc.library" not found␊
[13:03:35:013␍[_impl_OpenLibraryLibrary "ppc.library" not found␊
[13:03:35:013␍[_impl_OpenLibraryLibrary "magic.library" not found␊
[13:03:35:013␍[_impl_OpenLibraryLibrary "magic.library" not found␊
[13:03:35:013␍[_impl_OpenLibraryLibrary "thumbnail.library" not found␊
[13:03:35:013␍[_impl_InitResidentMaking version 0 library thumbnail.library V38␊
[13:03:35:013␍[_impl_InitResidentEmulating init function at 0x6B0F5028␊
[13:03:35:056␍[_impl_OpenLibraryLibrary "retina.library" not found␊
[13:03:35:056␍[_impl_OpenLibraryLibrary "retina.library" not found␊
[13:03:35:056␍[_impl_OpenLibraryLibrary "retinaemu.library" not found␊
[13:03:35:056␍[_impl_OpenLibraryLibrary "retinaemu.library" not found␊
[13:03:35:056␍[_impl_InitResidentInit function for thumbnail.library returned 0x6AFEF3BE␊
[13:03:35:056␍[_impl_OpenLibraryLibrary "post.library" not found␊
[13:03:35:124␍[_impl_InitResidentMaking version 0 library post.library V22␊
[13:03:35:124␍[_impl_InitResidentEmulating init function at 0x6A19807C␊
[13:03:35:124␍[_impl_InitResidentInit function for post.library returned 0x68BCE564␊
[13:03:35:124␍[_impl_AddTaskAdding Task 0x69447600CON/con-handler 53.82  (0x68BB88C0)␊
[13:03:35:124␍[_impl_AddTaskTask 0x69447600ETask 0xEFE6B3D0Context 0xEFE357C0␊
[13:03:35:124␍[_impl_AddTaskStack bottom 0x6A6A30A0Stack top 0x6A6A7090Stack pointer 0x6A6A7060␊
[13:03:35:152␍[_impl_AddTaskTask added to ready list␊
[13:03:35:152␍[_impl_RemTaskRemoving 0x69447600 (self) = CON/con-handler 53.82 âŠ
[13:03:35:152␍[_impl_SuspendTaskSuspending self (CON/con-handler 53.82 )␊
[13:03:35:152␍[_impl_AddTaskAdding Task 0x69447600CON/con-handler 53.82  (0x68BB8BC0)␊
[13:03:35:202␍[_impl_AddTaskTask 0x69447600ETask 0xEFE6B3D0Context 0xEFE357C0␊
[13:03:35:202␍[_impl_AddTaskStack bottom 0x6B1350A0Stack top 0x6B139090Stack pointer 0x6B139060␊
[13:03:35:202␍[_impl_AddTaskTask added to ready list␊
[13:03:35:202␍[_impl_RemTaskRemoving 0x69447600 (self) = CON/con-handler 53.82 âŠ
[13:03:35:202␍[_impl_SuspendTaskSuspending self (CON/con-handler 53.82 )␊
[13:03:35:202␍[_impl_AddTaskAdding Task 0x69447600CON/con-handler 53.82  (0x68BB8DC0)␊
[13:03:35:202␍[_impl_AddTaskTask 0x69447600ETask 0xEFE6B3D0Context 0xEFE357C0␊
[13:03:35:249␍[_impl_AddTaskStack bottom 0x6B1350A0Stack top 0x6B139090Stack pointer 0x6B139060␊
[13:03:35:249␍[_impl_AddTaskTask added to ready list␊
[13:03:35:249␍[_impl_RemTaskRemoving 0x69447600 (self) = CON/con-handler 53.82 âŠ
[13:03:35:249␍[_impl_SuspendTaskSuspending self (CON/con-handler 53.82 )␊
[13:03:35:249␍[_impl_AddTaskAdding Task 0x69447600CON/con-handler 53.82  (0x6B122DD0)␊
[13:03:35:345␍[_impl_AddTaskTask 0x69447600ETask 0xEFE6B3D0Context 0xEFE357C0␊
[13:03:35:345␍[_impl_AddTaskStack bottom 0x6B1350A0Stack top 0x6B139090Stack pointer 0x6B139060␊
[13:03:35:345␍[_impl_AddTaskTask added to ready list␊
[13:03:35:345␍[_impl_RemTaskRemoving 0x69447600 (self) = CON/con-handler 53.82 âŠ
[13:03:35:345␍[_impl_SuspendTaskSuspending self (CON/con-handler 53.82 )␊
[13:03:35:345␍[_impl_AddTaskAdding Task 0x689FBC20ARexx (0x6A167620)␊
[13:03:35:666␍[_impl_AddTaskTask 0x689FBC20ETask 0xEFE6B3D0Context 0xEFE357C0␊
[13:03:35:666␍[_impl_AddTaskStack bottom 0x6A66B0A0Stack top 0x6A66F090Stack pointer 0x6A66F060␊
[13:03:35:666␍[_impl_AddTaskTask added to ready list␊
[13:03:35:666␍[HAL_DfltTrapHandler] *** WarningFatal exception in task 0x6B7D1660 (ImageFXetask 0xEFE6B310at ip 0x0183B008␊
[13:03:35:666␍[HAL_AlertALERT0x80000003␊
[13:03:35:666␍[HAL_SuspendTaskWithUpdateSuspending 0x6B7D1660 with state=2DAR=0xCCCCCCD0at IP=0x0183B008LR=0x01848D04␊
[13:03:35:709␍kernel 54.30 (1.1.2021AmigaOne X5000 debug␊
[13:03:35:709␍Machine model10 (AmigaOne X5000/40)␊
[13:03:35:709␍Dump of context at 0xEFE353E0␊
[13:03:35:709␍Trap typeDSI exception␊
[13:03:35:709␍DSISR: 00800000  DARCCCCCCD0␊
[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 pointerin module kernel.debug+0x0003B008 (0x0183B008)␊
[13:03:35:709␍Crashed processImageFX (0x6B7D1660)␊
[13:03:35:709␍DSI verbose error descriptionAccess 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 Register0x00800000␊
[13:03:35:752␍ 0: 01848D04 693AEC50 00000002 0216A968 69FB1700 6FFBC000 6BED7740 6BED7780␊
[13:03:35:752␍ 8CCCCCCCC CCCCCCCC CCCCCCCC 693AE920 35933559 0000000D 693B3004 0216A968␊
[13:03:35:752␍1669399004 693B2FFC 1A4ECC01 6F851000 8000000C 00016000 8000000B 8000000A␊
[13:03:35:752␍2480000008 FFD60001 018625C0 00000000 01848D04 02160000 0216A968 69FB1700␊
[13:03:35:752␍CR35933555   XERA000007E  CTR: 0183AF94  LR: 01848D04␊
[13:03:35:795␍␊
[13:03:35:795␍Disassembly of crash site:␊
[13:03:35:795␍ 0183AFF8815F0000   lwz               r10,0(r31)␊
[13:03:35:795␍ 0183AFFC3D20CCCC   lis               r9,-13108␊
[13:03:35:795␍ 0183B000811F0004   lwz               r8,4(r31)␊
[13:03:35:795␍ 0183B0046129CCCC   ori               r9,r9,52428␊
[13:03:35:795␍>0183B008910A0004   stw               r8,4(r10)␊
[13:03:35:795␍ 0183B00C815F0004   lwz               r10,4(r31)␊
[13:03:35:795␍ 0183B010811F0000   lwz               r8,0(r31)␊
[13:03:35:795␍ 0183B014910A0000   stw               r8,0(r10)␊
[13:03:35:795␍ 0183B018913F0000   stw               r9,0(r31)␊
[13:03:35:838␍ 0183B01C913F0004   stw               r9,4(r31)␊
[13:03:35:838␍msr0x0002B032␊
[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 50HAL_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 linedebug 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␍r15native kernel module kernel.debug+0x0096a968␊
[13:03:35:967␍r26native kernel module kernel.debug+0x000625c0␊
[13:03:35:967␍r28native kernel module kernel.debug+0x00048d04␊
[13:03:36:010␍r29native kernel module kernel.debug+0x00960000␊
[13:03:36:010␍r30native 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␍ctrnative kernel module kernel.debug+0x0003af94␊
[13:03:36:010␍␊
[13:03:36:010␍Stack trace:␊
[13:03:36:010␍(0x693AEC50native kernel module kernel.debug+0x0003b008␊
[13:03:36:010␍(0x693AEC70native kernel module kernel.debug+0x00048d04␊
[13:03:36:010␍(0x693AEC90native kernel module kernel.debug+0x00026d24␊
[13:03:36:010␍(0x693AECA40x6FEFD99E [cannot decode symbol]␊
[13:03:36:053␍(0x694448340x70FF2B40 [cannot decode symbol]␊
[13:03:36:053␍␊
[13:03:36:053␍Disassembly of crash site:␊
[13:03:36:053␍ 0183AFF8815F0000   lwz               r10,0(r31)␊
[13:03:36:053␍ 0183AFFC3D20CCCC   lis               r9,-13108␊
[13:03:36:053␍ 0183B000811F0004   lwz               r8,4(r31)␊
[13:03:36:053␍ 0183B0046129CCCC   ori               r9,r9,52428␊
[13:03:36:053␍>0183B008910A0004   stw               r8,4(r10)␊
[13:03:36:053␍ 0183B00C815F0004   lwz               r10,4(r31)␊
[13:03:36:053␍ 0183B010811F0000   lwz               r8,0(r31)␊
[13:03:36:053␍ 0183B014910A0000   stw               r8,0(r10)␊
[13:03:36:096] â 0183B018913F0000   stw               r9,0(r31)␊
[13:03:36:096] â 0183B01C913F0004   stw               r9,4(r31)␊
[13:03:36:096] âStack pointer (0x693AEC50is 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] âDATA00000000 FFFFFFF7 000003EE 00000003 FFFFFFFF 1BE45566 00000001 00000001␊
[13:03:36:096] â----> 00000001 "modules/preview/WindowedCGX" Hunk 0000 Offset 00000000 (SegList0x1A82DC01)␊
[13:03:36:096] â----> 00000001 "modules/preview/WindowedCGX" Hunk 0000 Offset 00000000 (SegList0x1A82DC01)␊
[13:03:36:096] âADDR69FB1700 69FB1700 69FB1700 6B28F110 6B10B008 69FB1700 022CECC2 693AECA4␊
[13:03:36:140␍----> 6B10B008 "ImageFX" Hunk 0004 Offset 00008000 (SegList0x1A4ECC01)␊
[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   5sigrec 0x20000000sigwait 0xE4009000masked 0x20000000)␊
[13:03:36:140␍                    IDF1/FastFileSystem 53.2  (pri   5sigrec 0x20000000sigwait 0xA8000100masked 0x20000000)␊
[13:03:36:140␍                    IDF0/FastFileSystem 53.2  (pri   5sigrec 0x20000000sigwait 0xA8000100masked 0x20000000)␊
[13:03:36:183␍                                   RexxMaster (pri   4sigrec 0x40000100sigwait 0xC0000000masked 0x40000000)␊
[13:03:36:183␍                                    Workbench (pri   1sigrec 0x80000100sigwait 0x80000000masked 0x80000000)␊
[13:03:36:183␍                                        ARexx (pri   0sigrec 0x00000100sigwait 0x00000100masked 0x00000100)␊
[13:03:36:183␍                               TCP/IP Control (pri   0sigrec 0x40000100sigwait 0xF8009080masked 0x40000000)␊
[13:03:36:226␍                                ELF Collector (pri   0sigrec 0x00000100sigwait 0x00000100masked 0x00000100)␊
[13:03:36:226␍                                    hub.usbfd (pri   0sigrec 0x10000000sigwait 0x30000000masked 0x10000000)␊
[13:03:36:226␍                                    hub.usbfd (pri   0sigrec 0x10000000sigwait 0x30000000masked 0x10000000)␊
[13:03:36:226␍                            dos_signal_server (pri  -5sigrec 0x00004100sigwait 0x00000100masked 0x00000100)␊
[13:03:36:269␍                                    idle.task (pri -128sigrec 0x00000000sigwait 0x00000000masked 0x00000000)␊
[13:03:36:269␍␊
[13:03:36:269␍Waiting Tasks␊
[13:03:36:269␍                    MH00/FastFileSystem 53.2  (pri  10sigrec 0x00000000sigwait 0xA8000100masked 0x00000000)␊
[13:03:36:269␍                   DH0/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:269␍                   DH0/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:312␍                   DH2/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:312␍                  EHCI Controller Task Unit 0 (pri  15sigrec 0x00000000sigwait 0xBE009000masked 0x00000000)␊
[13:03:36:312␍                  EHCI Controller Task Unit 1 (pri  15sigrec 0x00000000sigwait 0xBE009000masked 0x00000000)␊
[13:03:36:312␍                                    USB stack (pri  18sigrec 0x00000000sigwait 0xF800D000masked 0x00000000)␊
[13:03:36:312␍                           dos_filedir_notify (pri   5sigrec 0x80000100sigwait 0x40001000masked 0x00000000)␊
[13:03:36:355␍                   DH2/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:355␍                      p50x0sata.device Port 0 (pri  12sigrec 0x10000000sigwait 0xC0007000masked 0x00000000)␊
[13:03:36:355␍                   DH1/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:355␍                   DH1/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:398␍                  DH2c/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:398␍                  DH2c/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:398␍                  DH2n/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:398␍                  DH2n/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:441␍                   DH6/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:441␍                   DH6/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:441␍                   DH7/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:441␍                   DH7/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:441␍                  HSF0/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:484␍                  HSF0/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:484␍                  HSF1/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:484␍                  HSF1/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:484␍                                 Mounter Task (pri  -1sigrec 0x00000000sigwait 0xB0001000masked 0x00000000)␊
[13:03:36:527␍                                  Mounter GUI (pri   0sigrec 0x00000000sigwait 0x80007000masked 0x00000000)␊
[13:03:36:527␍                    Mounter Companion Process (pri  -1sigrec 0x00000000sigwait 0x80003000masked 0x00000000)␊
[13:03:36:527␍                     Workbench DosList Notify (pri   1sigrec 0x00000000sigwait 0x00003000masked 0x00000000)␊
[13:03:36:527␍                               ramlib.support (pri  -2sigrec 0x00000100sigwait 0x80005000masked 0x00000000)␊
[13:03:36:570␍                                       ramlib (pri   1sigrec 0x00000100sigwait 0x80001000masked 0x00000000)␊
[13:03:36:570␍                                       X-Dock (pri   0sigrec 0x00000100sigwait 0xFE001000masked 0x00000000)␊
[13:03:36:570␍                                    hid.usbfd (pri  10sigrec 0x00000100sigwait 0xE0000000masked 0x00000000)␊
[13:03:36:570␍                                    HID Mouse (pri  10sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:36:570␍                        appdir envarc manager (pri -50sigrec 0x80000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:613␍                  DH00/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:613␍                  DH00/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:613␍                  DH0b/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:613␍                  DH0b/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:656␍                  DH2m/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:656␍                  DH2m/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:656␍                   DH5/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:656␍                   DH5/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:699␍                  MH01/SmartFilesystem 1.293  (pri  10sigrec 0x00000000sigwait 0xE0000100masked 0x00000000)␊
[13:03:36:699␍                  MH01/SmartFilesystem 1.293  (pri  11sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:699␍                      ICD0/CDFileSystem 53.8  (pri  10sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:699␍                      ICD1/CDFileSystem 53.8  (pri  10sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:699␍                           TCP/IP Superserver (pri   0sigrec 0x00000100sigwait 0xD0000080masked 0x00000000)␊
[13:03:36:742␍                  RANDOM/Random-Handler 52.1  (pri   5sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:742␍                    URL/launch-handler 53.39  (pri   5sigrec 0x00000100sigwait 0x80000000masked 0x00000000)␊
[13:03:36:742␍              TEXTCLIP/textclip-handler 53.4  (pri   3sigrec 0x00000100sigwait 0x80000000masked 0x00000000)␊
[13:03:36:742␍                         TCP/IP Configuration (pri   0sigrec 0x00000100sigwait 0xF8003000masked 0x00000000)␊
[13:03:36:785␍                             rtl8169.device.0 (pri   5sigrec 0x00000100sigwait 0x78008000masked 0x00000000)␊
[13:03:36:785␍                                   TCP/IP Log (pri   0sigrec 0x00000000sigwait 0x80003000masked 0x00000000)␊
[13:03:36:785␍                          select.gadget prefs (pri   0sigrec 0x00000100sigwait 0x80001000masked 0x00000000)␊
[13:03:36:785␍                                         FKey (pri   0sigrec 0x00000010sigwait 0xC000D000masked 0x00000000)␊
[13:03:36:828␍           texteditor.gadget Clipboard Server (pri   1sigrec 0x00000100sigwait 0x80000000masked 0x00000000)␊
[13:03:36:828␍                                 ClickToFront (pri  21sigrec 0x00000000sigwait 0xE000D000masked 0x00000000)␊
[13:03:36:828␍                                      AsyncWB (pri   0sigrec 0x00000100sigwait 0xC0001000masked 0x00000000)␊
[13:03:36:828␍                                    IPrefs  (pri   0sigrec 0x20000000sigwait 0x0000F000masked 0x00000000)␊
[13:03:36:828␍                       CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)␊
[13:03:36:871␍                       CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)␊
[13:03:36:871␍                                     DefIcons (pri   0sigrec 0x00000000sigwait 0x80009000masked 0x00000000)␊
[13:03:36:871␍                       CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)␊
[13:03:36:871␍                         string.gadget server (pri   1sigrec 0x00000000sigwait 0x40000000masked 0x00000000)␊
[13:03:36:914␍                      p50x0sata.device Port 1 (pri  12sigrec 0x10000000sigwait 0xC0007000masked 0x00000000)␊
[13:03:36:914␍                                  NVMe Unit 0 (pri  12sigrec 0x00000000sigwait 0x80000000masked 0x00000000)␊
[13:03:36:914␍                   Workbench Clipboard Server (pri   1sigrec 0x00000100sigwait 0x80000000masked 0x00000000)␊
[13:03:36:914␍                                      ConClip (pri   0sigrec 0x00000000sigwait 0x80000000masked 0x00000000)␊
[13:03:36:958␍                       AUDIO/AHI-Handler 6.2  (pri   5sigrec 0x00000000sigwait 0x00000100masked 0x00000000)␊
[13:03:36:958␍                      diskimage.device unit 4 (pri   4sigrec 0x00000100sigwait 0xC0000000masked 0x00000000)␊
[13:03:36:958␍                      diskimage.device unit 5 (pri   4sigrec 0x00000100sigwait 0xC0000000masked 0x00000000)␊
[13:03:36:958␍                      diskimage.device unit 0 (pri   4sigrec 0x00000100sigwait 0xC0000000masked 0x00000000)␊
[13:03:37:001␍                      diskimage.device unit 1 (pri   4sigrec 0x00000000sigwait 0xC0000000masked 0x00000000)␊
[13:03:37:001␍                                    hid.usbfd (pri  10sigrec 0x00000100sigwait 0xE0000000masked 0x00000000)␊
[13:03:37:001␍                                 HID Consumer (pri  10sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:001␍                                 HID Keyboard (pri  10sigrec 0x00000000sigwait 0x90001000masked 0x00000000)␊
[13:03:37:001␍                                    HID Mouse (pri  10sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:044␍                                    hid.usbfd (pri  10sigrec 0x00000100sigwait 0xE0000000masked 0x00000000)␊
[13:03:37:044␍                                 HID Keyboard (pri  10sigrec 0x00000000sigwait 0x90001000masked 0x00000000)␊
[13:03:37:044␍                            USB stack Process (pri   0sigrec 0x00000100sigwait 0x80001000masked 0x00000000)␊
[13:03:37:044␍                 APPDIR/appdir-handler 54.17  (pri   5sigrec 0x00000100sigwait 0x80000000masked 0x00000000)␊
[13:03:37:087] â                         MassStorage Notifier (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:087] â                                  DST watcher (pri   0sigrec 0x00000000sigwait 0xC0000000masked 0x00000000)␊
[13:03:37:087] â            application.library messageserver (pri   0sigrec 0x00000000sigwait 0xC0000000masked 0x00000000)␊
[13:03:37:087] â                                  KDebug Task (pri   0sigrec 0x00000000sigwait 0x80000000masked 0x00000000)␊
[13:03:37:130␍                       RAM/ram-handler 54.24  (pri  10sigrec 0x00000100sigwait 0x80000000masked 0x00000000)␊
[13:03:37:130␍                       ENV/env-handler 54.18  (pri   5sigrec 0x00000100sigwait 0x80000000masked 0x00000000)␊
[13:03:37:130␍                       CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)␊
[13:03:37:130␍                       RAW/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)␊
[13:03:37:130␍                       CON/con-handler 53.82  (pri   5sigrec 0x00000000sigwait 0xA0000100masked 0x00000000)␊
[13:03:37:173␍                          SFS DosList handler (pri  19sigrec 0x00000000sigwait 0x80000000masked 0x00000000)␊
[13:03:37:173␍                             dos_nbmd_process (pri   5sigrec 0x00000000sigwait 0x00001100masked 0x00000000)␊
[13:03:37:173␍                             dos_lock_handler (pri   5sigrec 0x00000000sigwait 0x00001100masked 0x00000000)␊
[13:03:37:173␍                                    hub.usbfd (pri   0sigrec 0x00000000sigwait 0x30000000masked 0x00000000)␊
[13:03:37:216␍                                    hub.usbfd (pri   0sigrec 0x00000000sigwait 0x30000000masked 0x00000000)␊
[13:03:37:216␍                       DMA2 Channel 4 Handler (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:216␍                       DMA1 Channel 4 Handler (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:216␍                       DMA2 Channel 3 Handler (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:259␍                       DMA1 Channel 3 Handler (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:259␍                       DMA2 Channel 2 Handler (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:259␍                       DMA1 Channel 2 Handler (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:259␍                       DMA2 Channel 1 Handler (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:259␍                       DMA1 Channel 1 Handler (pri   0sigrec 0x00000000sigwait 0x80001000masked 0x00000000)␊
[13:03:37:302␍                     Exec Command and Control (pri  30sigrec 0x00000000sigwait 0x80000000masked 0x00000000)␊
[13:03:37:302␍                                       rhd_gc (pri 100sigrec 0x00000000sigwait 0x80000001masked 0x00000000)␊
[13:03:37:302␍␊
[13:03:37:302␍Suspended Tasks␊
[13:03:37:302␍␊
[13:03:37:302␍␊
[13:03:37:302␍[_impl_AddTaskAdding Task 0x689FBDA0Background CLI (0x6A167520)␊
[13:03:37:302␍[_impl_AddTaskTask 0x689FBDA0ETask 0xEFE6B0D0Context 0xEFE6D7C0␊
[13:03:37:340␍[_impl_AddTaskStack bottom 0x6A6700A0Stack top 0x6A674090Stack pointer 0x6A674060␊
[13:03:37:340␍[_impl_AddTaskTask added to ready list␊
[13:03:37:340␍[_impl_RemTaskRemoving 0x689FBC20 (self) = ARexx␊
[13:03:37:340␍[_impl_SuspendTaskSuspending self (ARexx)␊
[13:03:37:340␍[_impl_SetTaskTrapTrap at 0x689FC6D8Code 0x7F61C368Data 0x00000000␊
[13:03:37:377␍[_impl_SetTaskTrapTrap at 0x689FC6E8Code 0x7F61C368Data 0x00000000␊
[13:03:37:377␍[_impl_SetTaskTrapTrap at 0x689FC6F8Code 0x7F61C368Data 0x00000000␊
[13:03:37:377␍

Go to top
Re: ImageFx 4.1 crashes with debug kernel
Just can't stay away
Just can't stay away


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 17: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
Just can't stay away
Just can't stay away


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 V50this function modifies the ln_Succ and ln_Pred
        pointers to prevent disaster from Removing a node twice
.
[...]


Edited by joerg on 2023/5/13 16: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
Just can't stay away
Just can't stay away


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
Just can't stay away
Just can't stay away


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