Successful v2.0b1 launch on Win 10 - Py 3.10 - Wxpython 4.1.1

For information, I succeeded to launch Ride in this context:

  • Windows 10
  • Python 3.10
  • robotframework-5.0.1
  • robotframework-ride-2.0b1, but with 2 fixes, seen afterwards presents in the repository, so it is probably better to install the master
  • wxPython 4.1.1, built according to Fixes to build and install 4.1.1 on Windows with Python 3.10 (64 bit) and Visual Studio 2019, and some fixes in wx\lib\agw\aui\auibook.py, tabart.py, auibar.py that are seen afterwards presents in the repository, so it is probably better to install a wxpython dot org slash Phoenix slash snapshot-builds 4.1.2

It may remain these issues:

  • auibook.py - Split() - suspicion of TypeError: Size.SetWidth(): argument 2 has unexpected type ‘float’ (github dot com slash wxWidgets slash Phoenix slash issues slash 2208)
  • auibook.py - Split fails due to Point being created with float values (issue 2174)
1 Like

Thank you @psam44.

Excellent report and detailed wxPython issue.

I am using the development version, on Fedora 36 with Python 3.10.5 and stock installed wxPython 4.0.7 (I was surprised that Fedora installed this one, and that it works perfectly).

There is this “bug” on Python >=3.9 and wxPython 4.1.1, that makes RIDE crash (or blocked) when we detach the panes, Project or Files. Currently, with Python 3.10 and wxPython 4.0.7 there is no problem. The same with Python 3.8 and any wxPython >=4.0.7.

I experience this Detach problem as well.
Most of the time, the window closes, without any traces on the console (I’m really new to wx, is there something to set or somewhere to look for a log, to have traces?).

But surprisingly, if I do only a little move, it may stay as a floating pane:

Well, this is not easy to debug. I think is was some changes in Python that interfere with the AUIManager. What you can do is to see the wxPython Demo, AUI MDI AUINotebook, etc…

Another helpful tool is to launch RIDE with the option --debugconsole which launches inspector tool, and a debug console with access to any object.

1 Like

The inspector tool didn’t help me to know more.
But I made a progress in the spotting.
If I bypass the center docking guide, I managed to move the pane correctly:


The investigation continues.

1 Like

Please see if the same behavior exists in current master.

Trust me. If you tried Visual Studio with Robot FrameWork…
Then you never EVER EVER want to go back to using Eclipse/Red or Ride.
Visual Studio and Robot Framework is faster, better, more convenient, easier, better user interface, better intellisense, better plugins…
There is no way you wanna go back to Red/Eclipse or Ride after trying it!

@valentijnpeters Why are you trolling the use of RIDE? Do you have any special interest in people only using Microsoft Visual Studio Code?

No intention of trolling Ride whatsoever and no interest in people using VS(c) either…
Just sharing an expierence.

For me, easy case to reproduce the crash:

(py310wx) C:\tmp>py
Python 3.10.1 (tags/v3.10.1:2cd268a, Dec  6 2021, 19:10:37) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> p=wx.Point(1,1)
>>> li=[p]
>>> li
[wx.Point(1, 1)]
>>> r=wx.Region(li)

(py310wx) C:\tmp>

How is it for you?

I don’t have the same conditions to test (wxPython 4.0.7 on which the bug is not present).

Python 3.10.5 (main, Jun  9 2022, 00:00:00) [GCC 12.1.1 20220507 (Red Hat 12.1.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> p=wx.Point(1,1)
>>> li=[p]
>>> li
[wx.Point(1, 1)]
>>> r=wx.Region(li)
>>> r
<wx._core.Region object at 0x7ff3f1b02830>

But I did find some float values when they should be int. I did fix on some places on RIDE and I should review all the wx code.
But the fix upstream on ww/wxPython is the best solution.

The problem is already reported in v4.1.1: Crash in wx.Region(points) constructor on MacOS · Issue #1878 · wxWidgets/Phoenix · GitHub.
There is a fix, already present in snapshot-builds 4.1.2a1.dev…
With the effect of this fix applied in:
wxPython-4.1.1\sip\cpp\sip_corewxRegion.cpp
wxPython-4.1.1\sip\gen\region.sip (not sure if really necessary)
and a new build, it works so far.

>>> wx.version()
'4.1.1 msw (phoenix) wxWidgets 3.1.5'
>>> r=wx.Region([10,12])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Expected a sequence of length-2 sequences or wx.Point objects.
>>> li=[wx.Point(1, 1)]
>>> r=wx.Region(li)
>>> r
<wx._core.Region object at 0x000001679A67DB40>
>>> r.GetBox()
wx.Rect(-1712480944, 359, 1712480944, -359)

1 Like