OS/2, eCS & ArcaOS - Technical > Programming

Qt6 Application Testing

<< < (79/91) > >>

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