Author Topic: Beta testers needed  (Read 451 times)

jj2007

  • Member
  • *****
  • Posts: 9802
  • Assembler is fun ;-)
    • MasmBasic
Beta testers needed
« on: November 12, 2019, 08:43:20 PM »
Attached an exe that includes a number of new plotting functions I am developing right now. Grateful for testing them - are their crashes, missing stuff, glitches etc?

In the Life Expectancy plot, the lower blue line is interesting for you. Check Iceland, Switzerland and Italy :tongue:

Tested on Jotti: 0/15 scanners reported malware (which is very surprising for an assembler application :mrgreen:). Your local AV might still complain, of course. The exe is pretty bloated because data and images are embedded as resources.
« Last Edit: November 14, 2019, 09:40:42 AM by jj2007 »

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 6768
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: Beta testers needed
« Reply #1 on: November 12, 2019, 09:01:11 PM »
I am not sure what I am supposed to test but it looks fine so far. Starts with China, any resizing shows the 6 images which work OK, slightly laggy but displays correctly.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

Biterider

  • Member
  • ***
  • Posts: 392
  • ObjAsm32 + ObjAsm64 = ObjAsm
    • ObjAsm
Re: Beta testers needed
« Reply #2 on: November 12, 2019, 09:12:41 PM »
Hi jj
Seems to work without crashing (Win10 64 Home)  :thumbsup:
One thing I noticed is that when the "emissions" plot is zoomed (green, covering the complete window), a little square is shown in the top left corner. Clicking on and stretching it, the "life expectancy" plot is revealed. I think that is not intentional.


Biterider

jj2007

  • Member
  • *****
  • Posts: 9802
  • Assembler is fun ;-)
    • MasmBasic
Re: Beta testers needed
« Reply #3 on: November 12, 2019, 09:17:09 PM »
Thanks, Hutch & BiteRider :thup:

The spot in the emissions plot is not present here on Win7-64 and WinXP. Does it appear all the time? Does it leak a Gdi handle or similar in Task Manager?

I attach version 2, which allows in non-zoomed mode to click into the map in order to change the country. Hitting "F" zooms the plot with the selected country. Obviously, the U.S. and Australia aren't there :bgrin:, but you can reach them with cursor left (Australia is the first one) and cursor right (U.S.A. are second last country).

So far, it runs fine on Win7-64 and my WinXP VM. For some countries that are present in the map but not in the dataset, like Romania and Bulgaria, it will display a "country not found" message that triggers a warning about the stack pointer - nothing to worry about, that's for debugging only.
« Last Edit: November 13, 2019, 02:05:09 AM by jj2007 »

Biterider

  • Member
  • ***
  • Posts: 392
  • ObjAsm32 + ObjAsm64 = ObjAsm
    • ObjAsm
Re: Beta testers needed
« Reply #4 on: November 12, 2019, 11:55:49 PM »
Hi jj
No change. Unfortunately I'm not able to detect a res-leak. Attached is a picture showing the zoomed out rectangle.
Biterider
« Last Edit: November 13, 2019, 06:26:55 AM by Biterider »

jj2007

  • Member
  • *****
  • Posts: 9802
  • Assembler is fun ;-)
    • MasmBasic
Re: Beta testers needed
« Reply #5 on: November 13, 2019, 12:04:01 AM »
Thanks, Biterider - I found the culprit:

Code: [Select]
invoke MoveWindow, eax, -3, -3, 2, 2, 0
Depending on your Windows setting, the thick frame may make the control visible because it is outside the client rect, i.e. -3+2+2*x=+z ! I'll post the corrected version soon.

LiaoMi

  • Member
  • ****
  • Posts: 593
Re: Beta testers needed
« Reply #6 on: November 13, 2019, 12:51:41 AM »
Hi jj2007,

some more pictures  :thumbsup: .. I also have a square bug, the scale goes beyond the borders, in one of the graphs the line disappears, in the other it appears.

P.S.> CreatePolygonRgn - GDI Leak - HRGN object Leak
00406cad
00404870
00401172

jj2007

  • Member
  • *****
  • Posts: 9802
  • Assembler is fun ;-)
    • MasmBasic
Re: Beta testers needed
« Reply #7 on: November 13, 2019, 02:09:00 AM »
Thanks, LiaoMi, for the very detailed response :thup:

What intrigues me is the CreatePolygonRgn stuff - how did you find that? I've checked my library and the current source, there is no call to CreatePolygonRgn :sad:

In Task Manager (Win7-64), the program is stable regarding objects, handles and working space, even when heavily resizing for a while. What kind of tool are you using there?

Plus, the three addresses you list are far away from graphics :rolleyes:

Version 3 attached to the top post. The box in the upper left corner is fixed. No idea where the line in image #10 comes from, here it doesn't show with Win10 and Win7.

What the keyboard help does not mention is that pressing "A" toggles the auto gap filler. The life expectancy data set has lots of gaps, and I needed a way to draw lines between "good" points without plotting the inexistent outliers.

I've removed V2 knowing that Hutch is not happy about wasting server space :bgrin:

LiaoMi

  • Member
  • ****
  • Posts: 593
Re: Beta testers needed
« Reply #8 on: November 13, 2019, 04:25:45 AM »
Quote
What kind of tool are you using there?
Deleaker - https://www.deleaker.com/

Quote
Plus, the three addresses you list are far away from graphics :rolleyes:
:tongue:

Code: [Select]
text:00406C8D loc_406C8D:                             ; CODE XREF: sub_4065CA+6AF↑j
.text:00406C8D                 push    eax             ; color
.text:00406C8E                 call    CreateSolidBrush
.text:00406C93                 push    eax             ; ho
.text:00406C94                 inc     [ebp+var_1C]
.text:00406C97                 push    dword ptr [esi] ; ho
.text:00406C99                 call    DeleteObject
.text:00406C9E                 push    2               ; iMode
.text:00406CA0                 push    [ebp+cPoly]     ; cPoly
.text:00406CA3                 lea     eax, [ebp+pc]
.text:00406CA9                 push    eax             ; pc
.text:00406CAA                 push    [ebp+pptl]      ; pptl
.text:00406CAD                 call    CreatePolyPolygonRgn
.text:00406CB2                 mov     [esi], eax
.text:00406CB4                 add     [ebp+var_7C], 8
.text:00406CB8                 push    [esp+19D0h+hbr+4] ; hbr
.text:00406CBB                 push    eax             ; hrgn
.text:00406CBC                 push    dword ptr [edi+2Ch] ; hdc
.text:00406CBF                 call    FillRgn
.text:00406CC4                 call    DeleteObject
.text:00406CC9                 pop     ecx
.text:00406CCA                 and     [ebp+cPoly], 0
.text:00406CCE
.text:00406CCE loc_406CCE:                             ; CODE XREF: sub_4065CA+6A1↑j
.text:00406CCE                 pop     esi

00406CAD - CreatePolygonRgn - GDI Leak - HRGN object Leak
00404870 - Proc with 00406CAD - CreatePolygonRgn
00401172 - Message queue

DeleteObject function
Return Value
If the function succeeds, the return value is nonzero.
If the specified handle is not valid or is currently selected into a DC, the return value is zero.

What the function returns is not checked after execution ..

Code: [Select]
.text:00406C97 push    dword ptr [esi] ; ho
.text:00406C99 call    DeleteObject

00406C97 always pushing zero, after gets zero as a result of the function, and old handlers are stuck in memory. I don’t know the algorithm, maybe later somewhere everything is cleared. And the program made a mistake in the analysis. But this piece of code visually looks unusual :azn:

Thanks, LiaoMi, for the very detailed response :thup:
The box in the upper left corner is fixed. No idea where the line in image #10 comes from, here it doesn't show with Win10 and Win7.

The line always appears, I tried 6 times, it appears if you expand the first graph completely, then reduce the inner window, and then move left, right, the second attempt already has a line  :angelic:

jj2007

  • Member
  • *****
  • Posts: 9802
  • Assembler is fun ;-)
    • MasmBasic
Re: Beta testers needed
« Reply #9 on: November 13, 2019, 05:13:23 AM »
00406CAD - CreatePolygonRgn - GDI Leak - HRGN object Leak

Thanks a lot! So it's CreatePolyPolygonRgn, not CreatePolygonRgn. Yes, I do have an invoke CreatePolyPolygonRgn, but it never fails, and the handles (one per country) get finally deleted via ExitProcess. This is by design, otherwise neither tooltips nor "tell me which country I clicked on" would work. Is that why DeLeaker complains? Task Manager does not report handle leaks, even when I frenetically resize the map, thus creating hundreds of region handles.

Quote
The line always appears, I tried 6 times, it appears if you expand the first graph completely, then reduce the inner window, and then move left, right, the second attempt already has a line  :angelic:

That one is a mystery, I can't see it. Which Windows version, and which screen resolution?

LiaoMi

  • Member
  • ****
  • Posts: 593
Re: Beta testers needed
« Reply #10 on: November 13, 2019, 05:31:04 AM »
00406CAD - CreatePolygonRgn - GDI Leak - HRGN object Leak

Thanks a lot! So it's CreatePolyPolygonRgn, not CreatePolygonRgn. Yes, I do have an invoke CreatePolyPolygonRgn, but it never fails, and the handles (one per country) get deleted via ExitProcess. This is by design, otherwise neither tooltips nor "tell me which country I clicked on" would work. Is that why DeLeaker complains? Task Manager does not report handle leaks.

Quote
The line always appears, I tried 6 times, it appears if you expand the first graph completely, then reduce the inner window, and then move left, right, the second attempt already has a line  :angelic:

That one is a mystery, I can't see it. Which Windows version, and which screen resolution?

PolyPoly  :biggrin: Yes, the analyzer says there is a leak. .text:00406C99 call DeleteObject - called with zero, push dword ptr [esi] - there is always 0 in [esi] ?! It seemed to me that the last handler in ESI should be deleted, but if so, then there was a false alarm.

Even at the first start, the line is visible, when reducing the size it is visible ...
https://i.imgur.com/pVO4vgX.png

I have windows 10 RS6 1909 ...

The box in the upper left corner is fixed.

I still have it, only in a different form  :undecided: it is now always convex  :biggrin:

jj2007

  • Member
  • *****
  • Posts: 9802
  • Assembler is fun ;-)
    • MasmBasic
Re: Beta testers needed
« Reply #11 on: November 13, 2019, 06:45:37 AM »
No box, no line... :rolleyes:

Code: [Select]
This is Windows version 10.0, build 18362
The long story: Windows version 10.0 1903, build 18362
running on Intel(R) Celeron(R) CPU  N2840  @ 2.16GHz   

jj2007

  • Member
  • *****
  • Posts: 9802
  • Assembler is fun ;-)
    • MasmBasic
Re: Beta testers needed
« Reply #12 on: November 14, 2019, 09:41:48 AM »
Version 4 attached to top post, now with a legend. Still no luck with finding LiaoMi's line :sad:

LiaoMi

  • Member
  • ****
  • Posts: 593
Re: Beta testers needed
« Reply #13 on: November 14, 2019, 10:21:07 AM »
Version 4 attached to top post, now with a legend. Still no luck with finding LiaoMi's line :sad:

 :azn:
I don’t observe the line in the new version, but I solved the riddle of the square  :badgrin: if you grab the square with the mouse and then stretch it into the visible area of the window, in this case you will see a hidden chart  :thumbsup:



I choose "6 - last graph", and then I stretch the hidden chart into a visible form,  :angelic: this little point gives me an interesting opportunity to discover hidden reality.

P.S.> based on line geometry, we can conclude that a feature with a hidden chart and a line that goes beyond the chart has the same source.

jj2007

  • Member
  • *****
  • Posts: 9802
  • Assembler is fun ;-)
    • MasmBasic
Re: Beta testers needed
« Reply #14 on: November 14, 2019, 10:41:42 AM »
Thanks. Interesting that the line is gone. The little square means that your thick frame is really thick, so I will have to move the window even further out. Good to know :thumbsup: