If you have had the problem with wxPython 3.0.0 crashing on XP, please try the new 3.0.1 preview build that was just uploaded to http://wxPython.kosoftworks.com/preview/20140104. It turns out this bug is due to a Microsoft bug when using TLS access compiler optimizations in DLLs that are loaded dynamically with LoadLibrary(), like how Python loads extension modules. The bug has been known in wx for quite some time, but apparently some unknown or slightly random set of circumstances can prevent it from manifesting, which is why we didn't see it happening until 3.0.0.
Although it is technically a preview build, it is only because of timing. The version number in wx has already been updated to 3.0.1 but there hasn't been an official release yet. However, there have been only bug fixes checked in to the 3.0 branch so I would say that you can feel just as comfortable using this preview build as you do using the 3.0.0 release.
Thanks Robin!. SourceCoder and other apps is running fine now(well, normally) on Windows XP.
Will give it a better run though later. Dealing with Blizzard ATM.
One small patch that didn’t make it.
AttributeError: ‘module’ object has no attribute ‘EVT_STC_HOTSPOT_RELEASE_CLICK’
in the etg generation.
@Users: This can be fixed manually in the meantime by adding this line to the end of wx/stc.py
EVT_STC_HOTSPOT_RELEASE_CLICK = wx.PyEventBinder( wxEVT_STC_HOTSPOT_RELEASE_CLICK, 1 )
I presume XP platforms should deinstall the 3.0.0 on XP. Any specific method to do so?
For those of you developing on non-XP be aware that if your app ends up there don’t forget this gotcha.
Yes, That’s recommended. The installers offers this option. So hopefully any registry entries are cleaned up properly.
It may not be required for it to run as the only real difference should only be the wx/foo.pyd and compiled stuff really and it would get overwritten.
But yes. Properly uninstalling it however your method of install was is probably a very good idea this time around as it uses the same named dir in site-packages.
···
On Sunday, January 5, 2014 4:30:01 PM UTC-6, DevPlayer wrote:
I presume XP platforms should deinstall the 3.0.0 on XP. Any specific method to do so?
For those of you developing on non-XP be aware that if your app ends up there don’t forget this gotcha.
I finally tracked down why right-clicking my app’s TextCtrl was spewing errors! (Apparently it is because of a library bug, not my code!!! Yay I guess)
I narrowed the problem down (for my case) to using wx.TE_RICH in a TextCtrl.
I’ve attached a simple demo that works for me to cause the crash or alleviate it.
Also pasting here:
import wxversion
wxversion.select(‘3.0’)
import wx
class testFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent=None, title="test", size=(200, 200))
consolePanel = wx.Panel(self)
consoleHSizer = wx.BoxSizer(wx.HORIZONTAL)
#swapping the comment between the two following lines alleviates or causes the crash
consoleHSizer.AddF(wx.TextCtrl(consolePanel, -1, "some text", style=wx.TE_RICH), wx.SizerFlags(1).Expand())
#consoleHSizer.AddF(wx.TextCtrl(consolePanel, -1, "some text"), wx.SizerFlags(1).Expand())
consolePanel.SetSizer(consoleHSizer)
On Thursday, July 17, 2014 4:12:41 PM UTC-7, Nathan McCorkle wrote:
I finally tracked down why right-clicking my app’s TextCtrl was spewing errors! (Apparently it is because of a library bug, not my code!!! Yay I guess)
I narrowed the problem down (for my case) to using wx.TE_RICH in a TextCtrl.
I’ve attached a simple demo that works for me to cause the crash or alleviate it.
I don't see a crash on right clicking with Py3.4 and Phoenix, only see one on closing when I use your second line:
File "D:\devOther\aaSamples\NathanMcCorkle\demoWx30Crashing.py", line 20, in <module>
app.MainLoop()
File "c:\Python34\Lib\site-packages\wx\core.py", line 1879, in MainLoop
rv = wx.PyApp.MainLoop(self)
wx._core.wxAssertionError: C++ assertion "m_menuDepth > 0" failed at ..\..\src\msw\toplevel.cpp(1544) in wxTopLevelWindowMSW::DoSendMenuOpenCloseEvent(): No open menus?
Can you check if it is still happening with the 3.0.1. preview Robin did a little while ago, and if yes maybe create a ticket.
Robin just did a preview for 3.0.1 a little while ago, I guess as soon as he finds time and if nothing serious is found with the preview he will issue 3.0.1 and then update the above.
Werner
···
On 7/18/2014 1:13, Nathan McCorkle wrote:
Oh, BTW, why are the broken 3.0 binaries being pushed by the download page here?: Redirecting...
Robin just did a preview for 3.0.1 a little while ago, I guess as soon
as he finds time and if nothing serious is found with the preview he
will issue 3.0.1 and then update the above.
I’m trying, but I can’t seem to figure out how to use wxversion.select for the 3.0.1 files… i’ve cd’ed (change directory) to the wx-3.0-msw directory (and also tried to change to wx-3.0-msw\wx)… then tried both wxversion.select(‘3.0.1’) and also wxversion.select(‘3.0.1.0.b20140707’) (found in the version.py file)
The first method ‘3.0.1’ just loads the existing 3.0 files I had in site-packages… while ‘3.0.1.0.b20140707’ causes wxversion to crash:
File “”, line 1, in
File “c:\Users\nmccorkx\Portable_Python_2.7.5.1_gtk\App\lib\site-packages\wxversion.py”, line 149, in select
File “c:\Users\nmccorkx\Portable_Python_2.7.5.1_gtk\App\lib\site-packages\wxversion.py”, line 357, in init
self.version = tuple([int(x) for x in segments[0].split('.')])
ValueError: invalid literal for int() with base 10: ‘b20140707’
···
On Friday, July 18, 2014 2:06:38 AM UTC-7, werner wrote:
Hi Nathan,
I don’t see a crash on right clicking with Py3.4 and Phoenix, only see
one on closing when I use your second line:
File “D:\devOther\aaSamples\NathanMcCorkle\demoWx30Crashing.py”, line
20, in
app.MainLoop()
File “c:\Python34\Lib\site-packages\wx\core.py”, line 1879, in MainLoop
rv = wx.PyApp.MainLoop(self)
wx._core.wxAssertionError: C++ assertion “m_menuDepth > 0” failed at
…..\src\msw\toplevel.cpp(1544) in
wxTopLevelWindowMSW::DoSendMenuOpenCloseEvent(): No open menus?
Can you check if it is still happening with the 3.0.1. preview Robin did
a little while ago, and if yes maybe create a ticket.
I'm trying, but I can't seem to figure out how to use wxversion.select for
the 3.0.1 files...
IIRC, wx.version.select() only works on the 1st and second version number,
not the third.
I think the idea is that there should only be bug fixes, rather than API
changes, in the third digit releases -- so you would just go aead and
install only the latest point release.
I think we now have wheels, that should respect virtualenv, so you can
experiment with multiple versions that way. (though maybe not on linux....)
-CHB
···
On Fri, Jul 18, 2014 at 11:26 AM, Nathan McCorkle <nmz787@gmail.com> wrote:
i've cd'ed (change directory) to the wx-3.0-msw directory (and also tried
to change to wx-3.0-msw\wx)... then tried both wxversion.select('3.0.1')
and also wxversion.select('3.0.1.0.b20140707') (found in the __version__.py
file)
The first method '3.0.1' just loads the existing 3.0 files I had in
site-packages... while '3.0.1.0.b20140707' causes wxversion to crash:
File "<stdin>", line 1, in <module>
File
"c:\Users\nmccorkx\Portable_Python_2.7.5.1_gtk\App\lib\site-packages\wxversion.py",
line 149, in select
bestMatch = _get_best_match(installed, versions, optionsRequired)
File
"c:\Users\nmccorkx\Portable_Python_2.7.5.1_gtk\App\lib\site-packages\wxversion.py",
line 273, in _get_best_match
score = pkg.Score(_wxPackageInfo(ver), optionsRequired)
File
"c:\Users\nmccorkx\Portable_Python_2.7.5.1_gtk\App\lib\site-packages\wxversion.py",
line 357, in __init__
self.version = tuple([int(x) for x in segments[0].split('.')])
ValueError: invalid literal for int() with base 10: 'b20140707'
On Friday, July 18, 2014 2:06:38 AM UTC-7, werner wrote:
Hi Nathan,
I don't see a crash on right clicking with Py3.4 and Phoenix, only see
one on closing when I use your second line:
File "D:\devOther\aaSamples\NathanMcCorkle\demoWx30Crashing.py", line
20, in <module>
app.MainLoop()
File "c:\Python34\Lib\site-packages\wx\core.py", line 1879, in MainLoop
rv = wx.PyApp.MainLoop(self)
wx._core.wxAssertionError: C++ assertion "m_menuDepth > 0" failed at
..\..\src\msw\toplevel.cpp(1544) in
wxTopLevelWindowMSW::DoSendMenuOpenCloseEvent(): No open menus?
Can you check if it is still happening with the 3.0.1. preview Robin did
a little while ago, and if yes maybe create a ticket.
Werner
--
You received this message because you are subscribed to the Google Groups
"wxPython-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to wxPython-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
I just tried with Py2.7 and 3.0 (wxPython3.0-win32-3.0.0.0-py27.exe)
and I don’t see any crash doing right click on the control, tried
all the menu items on the context menu and I don’t see a crash on
closing.
Werner
···
Hi Nathan,
On 7/18/2014 20:22, Nathan McCorkle wrote:
Rich text crashing a TextCtrl seem serious enough
to pull those files down.
On Friday, July 18, 2014 2:08:19 AM UTC-7, werner
wrote:
On
7/18/2014 1:13, Nathan McCorkle wrote:
> Oh, BTW, why are the broken 3.0 binaries being pushed by
the download
> page here?:
> [http://wxpython.org/download.php#msw](http://wxpython.org/download.php#msw)
Robin just did a preview for 3.0.1 a little while ago, I guess
as soon
as he finds time and if nothing serious is found with the
preview he
will issue 3.0.1 and then update the above.
Werner
–
You received this message because you are subscribed to the Google
Groups “wxPython-dev” group.
To unsubscribe from this group and stop receiving emails from it,
I'm trying, but I can't seem to figure out how to use wxversion.select for the 3.0.1 files... i've cd'ed (change directory) to the wx-3.0-msw directory (and also tried to change to wx-3.0-msw\wx)... then tried both wxversion.select('3.0.1') and also wxversion.select('3.0.1.0.b20140707') (found in the __version__.py file)
If your folders are named:
wx-3.0.1-msw-phoenix
wx-3.0.1-msw-classic
AFAIK you have to be on WinXP (maybe 32-bit only, I’m not sure)
Also, it was crashing on right-click, not on closing.
···
On Saturday, July 19, 2014 12:11:07 AM UTC-7, werner wrote:
Hi Nathan,
On 7/18/2014 20:22, Nathan McCorkle wrote:
Rich text crashing a TextCtrl seem serious enough
to pull those files down.
I just tried with Py2.7 and 3.0 (wxPython3.0-win32-3.0.0.0- py27.exe)
and I don’t see any crash doing right click on the control, tried
all the menu items on the context menu and I don’t see a crash on
closing.
File “C:\BlueLine_demoDay\ThirdParty\Portable Python 2.7.5.1\App\lib\site-packages\wxversion.py”, line 357, in init
self.version = tuple([int(x) for x in segments[0].split('.')])
ValueError: invalid literal for int() with base 10: ‘wx’
I checked my wxversion.py against the one in the 3.0.1 download and they differ only in using SimpleApp vs App… so I don’t think that would cause this (what seems to be) parsing error.
···
On Saturday, July 19, 2014 12:18:51 AM UTC-7, werner wrote:
Hi Nathan,
On 7/18/2014 20:26, Nathan McCorkle wrote:
I’m trying, but I can’t seem to figure out how to use wxversion.select
for the 3.0.1 files… i’ve cd’ed (change directory) to the wx-3.0-msw
directory (and also tried to change to wx-3.0-msw\wx)… then tried
both wxversion.select(‘3.0.1’) and also
wxversion.select(‘3.0.1.0.b20140707’) (found in the version.py file)