Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Paul Smedley

Pages: [1] 2 3 ... 125
1
Programming / Re: Qt6 Application Testing
« on: June 03, 2023, 11:37:35 pm »
Hi David,
  BTW, I just tried using your last 'Tor' with Dooble and it works great with the 'Socks5' proxy setting (using it now).

Wow! tor  - I didn't think anyone still used that. I could look at updating it if people see value in using it.

Cheers,

Paul

2
Programming / Re: Qt6 Application Testing
« on: June 03, 2023, 10:20:37 am »
Steven's analysis is attached... I'm still trying to work out how he does this..... my other issue is that there is no easy way to reproduce the same trap twice

3
Programming / Re: Qt6 Application Testing
« on: June 01, 2023, 11:24:56 pm »
  Thanks for the explanation - I now see what you mean about the exception handling being the bulk of the messages and they will be the same. Be interesting to hear what Steven has to say...

The main intel from these TRPs is it tells us where exit() was called from - which can give clues as to where the issue is. Unfortunately, it's hard to find a pattern in most of the silent exit TRPs....

4
Programming / Re: Qt6 Application Testing
« on: June 01, 2023, 09:59:04 am »
Hey Dave,
  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...

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 :)

5
Programming / Re: Qt6 Application Testing
« on: May 31, 2023, 11:58:40 am »
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).

6
Programming / Re: Qt6 Application Testing
« on: May 31, 2023, 03:08:04 am »
Thanks David, the problem with the silent exits is that they seem to contain somewhat random information... Quite frustrating!

7
Programming / Re: Qt6 Development
« on: May 31, 2023, 01:04:51 am »
with aout:
Code: [Select]
FAILED: src/25a6634@@dav1d@sha/msac.obj
C:/USR/BIN/nasm.exe -f aout -I U:/DEV/dav1d-1.2.0/src/ -I U:/DEV/dav1d-1.2.0/build/ -MQ src/25a6634@@dav1d@sha/msac.obj -MF src/25a6634@@dav1d@sha/msac.obj.ndep ../src/x86/msac.asm -o src/25a6634@@dav1d@sha/msac.obj
../src/x86/msac.asm:29: error: segment name `.rodata align=64' not recognized
U:/DEV/dav1d-1.2.0/src/ext/x86/x86inc.asm:95: ... from macro `SECTION_RODATA' defined here
../src/x86/msac.asm:69: error: segment name `.rodata align=64' not recognized

8
Programming / Re: Qt6 Development
« on: May 31, 2023, 01:00:24 am »
Hey Dave,

I used meson 0.49.2 and the dav1d 1.2.0 source

the dav1d meson.build knows nothing about OS/2 - so defaults to elf32 and funky ld parameters that our ancient ld doesn't understand, so I manually hacked some bits of ninja.build

I'll try a.out....

9
Programming / Re: Qt6 Development
« on: May 30, 2023, 11:22:06 pm »
Hey all... I cobbled together a local build of dav1d and am able to generate a DLL that will play AV1 video for me :)

There are some nasm warnings during compilation:
Code: [Select]
../src/x86/msac.asm:29: warning: OBJ format does not support alignment of 64: rounding up to 256 [-w+other]
U:/DEV/dav1d-1.2.0/src/ext/x86/x86inc.asm:93: ... from macro `SECTION_RODATA' defined here [-w+other]
../src/x86/msac.asm:69: warning: segment attributes specified on redeclaration of segment: ignoring [-w+other]
../src/x86/msac.asm:73: warning: segment attributes specified on redeclaration of segment: ignoring [-w+other]
U:/DEV/dav1d-1.2.0/src/ext/x86/x86inc.asm:102: ... from macro `SECTION_TEXT' defined here [-w+other]

x86inc.asm:93 is the obj code from:
Code: [Select]
%macro SECTION_RODATA 0-1 16
    %ifidn __OUTPUT_FORMAT__,win32
        SECTION .rdata align=%1
    %elif WIN64
        SECTION .rdata align=%1
    %elifidn __OUTPUT_FORMAT__,obj
        SEGMENT TEXT32 CLASS=CODE USE32 ALIGN=%1
    %else
        SECTION .rodata align=%1
    %endif
%endmacro
x86inc.asm:102 is the obj code from:
Code: [Select]
%macro SECTION_TEXT 0
    %ifidn __OUTPUT_FORMAT__,obj
        SEGMENT TEXT32 CLASS=CODE USE32
    %else
        SECTION .text
    %endif
%endmacro

Any ideas?

10
Programming / Re: Qt6 Application Testing
« on: May 30, 2023, 11:04:57 pm »
  Thanks for the new Dooble and libdav1d! I tried the RPM version with the new Dooble, and everything works about the same as before - still get the system hangs and occasional silent exit, but all tests seem to work as before. I'll try the gcc12 version next...

I did a review of the dav1d code - I agree with Dave Yeo that AVX _shouldn't_ be being used on a 32bit platform. I did note some warnings from compiling the assembly, they should probably be cleaned up but I doubt they're causing the hangs.

re: silent traps - if you're still running my build of libcn0.dll - any TRP files with 'set EXCEPTQ=Z' might be interesting.

Cheers,

Paul

12
Programming / Re: Qt6 Application Testing
« on: May 30, 2023, 11:31:11 am »
Two discoveries for today:
1) On systems where dooble loads, but gets stuck loading a page - start it with 'dooble https://www.google.com' - the URL can be any valid URL. Here on two different machines, the URL loads and then subsequent sites/tabs also load
2) I cobbled together a local build of dav1d6.dll - based on the 1.2.0 source - download link is https://smedley.id.au/tmp/dav1d-1.2.0-os2-20230530.zip - It will be interesting to see how this compares to the previous build...

13
Programming / Re: Qt6 Application Testing
« on: May 27, 2023, 07:17:09 am »
@Martin can we please add https://www.os2.kr/komh/testcase/dav1d_test.zip to post 1, as newer 6.3.2 builds need it.

14
Programming / Re: Qt6 Application Testing
« on: May 26, 2023, 07:58:12 am »
Why did you comment out the check? I think you should add OS2 to the IFDEF clause preceding the check (I would assume that our close resembles the UNIX/LINUX close).

I did try that - we are indeed getting an EBADF error - so adding OS2 to the ifdef at Line 33 doesn't help.

15
Programming / Re: Qt6 Application Testing
« on: May 25, 2023, 10:36:54 am »
https://smedley.id.au/tmp/qt6webee-6.3.2-20230525.zip contains a hack/workaround for the ebay.es issue

Pages: [1] 2 3 ... 125