OS/2, eCS & ArcaOS - Technical > Programming
Qt6 Application Testing
Paul Smedley:
Thanks David, the problem with the silent exits is that they seem to contain somewhat random information... Quite frustrating!
Paul Smedley:
I can't reproduce any hangs with youtube, testing on Virtualbox - weird stuff. I can definitely get 'silent exit's example attached - which will be quite different to David Mckennas (at least as far as I can tell).
David McKenna:
Hey Paul,
I'm no expert on traps, but the one you post sure looks a lot like the larger of the 2 I posted (0054_15.trp) when I put them side by side...
Regards,
roberto:
Hello
I leave a photo of 2 Reduced Full screen, and another EBAY website in the background. Applying the QW7.Bas patch, I need to try it more but it is very improving stability.
Since I started playing the Libcn0.dll that CUPSD's straight.
saludos
Paul Smedley:
Hey Dave,
--- Quote from: David McKenna on May 31, 2023, 12:16:15 pm --- I'm no expert on traps, but the one you post sure looks a lot like the larger of the 2 I posted (0054_15.trp) when I put them side by side...
--- End quote ---
I was a little frustrated last night, and didn't phrase things very well. What I meant to say is that it's unlikely to be the same as yours, as it seems that no two traps are the same - which makes it terribly hard to fix things.
Further to this.... noting that the below is based on my understanding - as I'm far from an expert on Traps either!
With the silent exits, the reason they're silent is because some function has detected an error, and has called the exit() function. The modified libcn DLL forces an exceptq report every time exit() is called - so elements of almost every TRP will look the same - as they're all being generated from exit().
I've emailed Steven to confirm my understanding is correct (as he first gave me to the idea to build a modified libcn), but what I think is that the function below the exception handling, ie:
055DA4FC 1E50319D LIBCN0 0001:0008319D exceptions.c#156 __libc_Back_exceptionHandler + 2AD 0001:00082EF0 (exceptions.obj)
055DA58C 1FFCA2EE DOSCALL1 0002:0000A2EE between _xcptExecuteUserExceptionHandler + 46 and _xcptR3ExceptionHandler - 42
055DA5AC 1FFCA330 DOSCALL1 0002:0000A330 _xcptR3ExceptionHandler
055DA5BC 1FFC9F14 DOSCALL1 0002:00009F14 between _xcptR3ExceptionDispatcher + 88 and _xcptUnwindDispatcher - 100
055DA5D0 1FFCA330 DOSCALL1 0002:0000A330 _xcptR3ExceptionHandler
055DA61C 1FFC9D7C DOSCALL1 0002:00009D7C between DOS32R3EXCEPTIONDISPATCHER + 64 and _xcptR3ExceptionDispatcher - 110
is the trapping function.
ie in 0050_15.TRP, we have:
055DA61C 1FFC9D7C DOSCALL1 0002:00009D7C between DOS32R3EXCEPTIONDISPATCHER + 64 and _xcptR3ExceptionDispatcher - 110
055DA6E0 00010000 DOOBLE 0001:00000000 crt0.s#59 __text 0001:00000000 (D:\Temp\ccMCXzU3.s)
055DA6E4 00014000 DOOBLE 0001:00004000 __ZN6dooble18slot_print_previewEv + 180 0001:00003E80 (dooble.obj)
so __ZN6dooble18slot_print_previewEv is the trapping function.
& for 0054_15.TRP:
0581BC8C 1FFC9D7C DOSCALL1 0002:00009D7C between DOS32R3EXCEPTIONDISPATCHER + 64 and _xcptR3ExceptionDispatcher - 110
0581BD7C AD1765C0 QT6WEBEE 0001:02A665C0 __ZN5cppgc8internal15ObjectAllocator20AllocateFromFreeListERNS0_15NormalPageSpaceEjt + 150 0001:02A66470 (cppgc_base_jumbo_4.o)
so __ZN5cppgc8internal15ObjectAllocator20AllocateFromFreeListERNS0_15NormalPageSpaceEjt is the trapping function.
I'll post back here once Steven either confirms I'm right or corrects me :)
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version