Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refuses to launch on wxPython 3.0 #12

Open
RavenB opened this issue Jul 10, 2015 · 36 comments
Open

Refuses to launch on wxPython 3.0 #12

RavenB opened this issue Jul 10, 2015 · 36 comments

Comments

@RavenB
Copy link

RavenB commented Jul 10, 2015

refuses to launch on fedora 22 claiming wxpythion 2.8 is needed while latest wxpython is installed.

@pypingou
Copy link

/cc

@uggla
Copy link

uggla commented Aug 10, 2015

This is because Fedora 22 comes with wxpython 3.0.2 and metamorphose is looking strictly at 2.8.
By the way PIL seems not anymore available on Fedora 22, replaced by Pillow but it looks compatible.

I forced the usage of wxpython to 3.0.2 by modifying the required script.
The application starts and requests the language configuration. (removed ~/.metamorphose2)
Then a dialogbox appears with a message "Please take a moment to set your preferences.
". I click "OK".
And the application fails with this :
[uggla@ugglalaptop metamorphose2]$ ./metamorphose2 -d

src/metamorphose2.py:60: wxPyDeprecationWarning: Call to deprecated item.
wx.InitAllImageHandlers()
Running in debug mode
Version : 0.8.3 (beta)
Python 2.7.10, wxPython 3.0.2.0
Operating System : Linux
System encoding : None
Interface language : en_US
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
`(metamorphose2.py:24229): GLib-GObject-WARNING *_: The property` `GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be` `removed in a future version.`
(metamorphose2.py:24229): GLib-GObject-WARNING *_: The property
GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It
will be removed in a future version.
Traceback (most recent call last):
File "src/metamorphose2.py", line 85, in <module>
main()
File "src/metamorphose2.py", line 76, in main
application = BoaApp(0)
File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 8628,
in __init__
self._BootstrapApp()
File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 8196,
in _BootstrapApp
return _core_.PyApp__BootstrapApp(_args, *_kwargs)
File "src/metamorphose2.py", line 61, in OnInit
self.main = MainWindow.create(None)
File "/home/uggla/workspace/metamorphose2/src/MainWindow/**init**.py", line
45, in create
return MainWindow(parent)
File "/home/uggla/workspace/metamorphose2/src/MainWindow/**init**.py", line
662, in **init**
self.**init_ctrls(prnt)
File "/home/uggla/workspace/metamorphose2/src/MainWindow/__init**.py", line
412, in **init_ctrls
self.bottomWindow = bottomWindow.MainPanel(self.splitter, self)
File "/home/uggla/workspace/metamorphose2/src/MainWindow/bottomWindow.py",
line 286, in __init**
self.**init_ctrls(prnt)
File "/home/uggla/workspace/metamorphose2/src/MainWindow/bottomWindow.py",
line 237, in __init_ctrls
self.display = ListCtrl(self, -1, size=wx.Size(520, -1))
File "/home/uggla/workspace/metamorphose2/src/MainWindow/bottomWindow.py",
line 52, in __init**
self.set_preferences()
File "/home/uggla/workspace/metamorphose2/src/MainWindow/bottomWindow.py",
line 57, in set_preferences
self.green.SetBackgroundColour(prefs.get(u'renamedColor'))
File "/home/uggla/workspace/metamorphose2/src/preferences/**init**.py", line
166, in get
self.**load_preferences()
File "/home/uggla/workspace/metamorphose2/src/preferences/__init**.py", line
92, in **load_preferences
self.__create_new()
File "/home/uggla/workspace/metamorphose2/src/preferences/__init**.py", line
58, in **create_new
prefDiag = Dialog(None, self, initial=True)
File "/home/uggla/workspace/metamorphose2/src/preferences/dialog.py", line
113, in __init**
self.**init_ctrls(parent)
File "/home/uggla/workspace/metamorphose2/src/preferences/dialog.py", line
95, in __init_ctrls
self.notebook = Notebook(id=-1, name=u'notebook', parent=self)
File "/home/uggla/workspace/metamorphose2/src/preferences/dialog.py", line
52, in __init**
page = page(self)
File "/home/uggla/workspace/metamorphose2/src/preferences/logging.py", line
100, in **init**
self.__init_ctrls(parent)
File "/home/uggla/workspace/metamorphose2/src/preferences/logging.py", line
97, in __init_ctrls
self.__init_sizers()
File "/home/uggla/workspace/metamorphose2/src/preferences/logging.py", line
52, in __init_sizers
self.__init_logoptions_sizer(self.logOptionsSizer)
File "/home/uggla/workspace/metamorphose2/src/preferences/logging.py", line
44, in __init_logoptions_sizer
flag=wx.ALIGN_CENTER_VERTICAL)
File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line
14711, in AddWindow
return self.Add(_args, *_kw)
File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line
14453, in Add
return _core_.Sizer_Add(_args, *_kwargs)
wx._core.PyAssertionError: C++ assertion "Assert failure" failed at
./src/common/sizer.cpp(1401) in DoInsert(): too many items (3 > 2*1) in grid
sizer (maybe you should omit the number of either rows or columns?)
``

@ianare
Copy link
Member

ianare commented Aug 10, 2015

Is wxPython 2.8 not available in Fedora 22?
On Ubuntu I have 2.8 and 3.0, and I admit not having tried running under 3.0.

@uggla
Copy link

uggla commented Aug 11, 2015

Hello @ianare,

Yes Fedora 22 is shipped only with 3.0.2. It was part of the main changes :
https://fedoraproject.org/wiki/Releases/22/ChangeSet#wxPython_3
Fedora is bleeding edge this is cool, but sometimes it causes some compatibility issues.
That's a pity because metamorphose2 is a really powerful program that I used to do some mass renaming.

I tried to investigate a bit more on the issue but I was unable to get the main window working.
I'm lacking too much knowledge on wxpython and metamorphose2 internals to make it working.
If you could upgrade metamorphose2 to have it running with wxpython 3.0.2 even if it is in a bad shape, then maybe I could help correcting some issues.

@ianare ianare changed the title refuses to launch Refuses to launch on wxPython 3.0 Aug 11, 2015
@ianare
Copy link
Member

ianare commented Aug 11, 2015

I've added a new release 0.8.4 which allows specifying the wxPython version:

./metamorphose2 -w 3.0

I was able to get it running on wxPython 3.0.0.0 on Mint 17 (Ubuntu 14.04 LTS), although not everything worked - preferences menu for example did not show up.

I will try with a newer version of wx and see if it crashes.
appera u-met

@ianare
Copy link
Member

ianare commented Aug 11, 2015

Sorry, upon re-reading your output log, I see the problem is actually with the preferences menu... I'll see what I can do ;-)

@uggla
Copy link

uggla commented Aug 12, 2015

@ianare wahou ! Thanks for your support !
I'll follow this thread and I will test it as soon as you will give me the green light.

@ianare
Copy link
Member

ianare commented Aug 12, 2015

OK it should be working now, can you test the latest master branch?

Thanks!

@uggla
Copy link

uggla commented Aug 13, 2015

Hello @ianare,

It is better, but unfortunately I still get a core dump. :(
Here is a report of the encountered issues.

1. Install issue.

messages/update_langs.sh --> ok
make build --> ok

[uggla@ugglalaptop metamorphose2]$ sudo make install
install -d /usr/share/man/man1/
gzip -c9 manpage.1 > metamorphose2.1.gz
install -m 644 metamorphose2.1.gz /usr/share/man/man1/
cp *.html /usr/share/doc/metamorphose2/
cp: cannot stat ‘*.html’: No such file or directory
Makefile:105: recipe for target 'install-doc' failed
make: *** [install-doc] Error 1

Installation is looking for a html file and none is available.
This is a minor issue, fixed by creating a html file at the root of the project.

2. Issue configuring metamorphose.

Language selection --> ok
Popup 'Please take a moment to set your preferences' --> ok
Preferences window --> ok (was not the case before)
Click on ok is working but then metamorphose crashes. :(

[uggla@ugglalaptop ~]$ metamorphose2  -d
Running in debug mode
Version: 0.8.4 (beta)

(metamorphose2.py:6545): GLib-GObject-WARNING **: The property
GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It
will be removed in a future version.

(metamorphose2.py:6545): GLib-GObject-WARNING **: The property
GtkAlignment:xalign is deprecated and shouldn't be used anymore. It will be
removed in a future version.

(metamorphose2.py:6545): GLib-GObject-WARNING **: The property
GtkAlignment:yalign is deprecated and shouldn't be used anymore. It will be
removed in a future version.

(metamorphose2.py:6545): GLib-GObject-WARNING **: The property
GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be
removed in a future version.
Operating System: Linux - 4.1.3-200.fc22.x86_64 - #1 SMP Wed Jul 22 19:51:58
UTC 2015
System encoding: None
Python version: 2.7.10
wxPython version: 3.0.2.0
Interface language: en_US
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug

*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug

Opening as 'w' : /home/uggla/.metamorphose2/preferences.ini
clearUndo (CheckBox) = 0
useDirTree (CheckBox) = 1
showHiddenDirs (CheckBox) = 0
encodingGroup (Choice) = 0
encodingSelect (ComboBox) = None
showPreviewIcons (CheckBox) = 1
onlyShowChangedItems (CheckBox) = 0
showPreviewHighlight (CheckBox) = 1
renRefreshMin (SpinCtrl) = 80
showProgressDialog (CheckBox) = 1
itemCountForProgDialog (SpinCtrl) = 200
willChangeColor (ColourPickerCtrl) = #E5FFE5
renamedColor (ColourPickerCtrl) = #97F27F
errorColor (ColourPickerCtrl) = #FF1616
warnColor (ColourPickerCtrl) = #FDEB22
autoSelectAll (CheckBox) = 1
reloadAfterRename (CheckBox) = 0
alwaysMakeLog (CheckBox) = 0
previewOnConfig (CheckBox) = 1
autoShowError (CheckBox) = 0
logLocation (DirPickerCtrl) = /home/uggla/.metamorphose2/undo
logSeparator (TextCtrl) = :::
logEnclose (TextCtrl) = 
logFextension (TextCtrl) = log
useWinChars (CheckBox) = 1
markWarning (RadioButton) = 1
markBadChars (RadioButton) = 0
deleteBadChars (RadioButton) = 0
useWinNames (CheckBox) = 0
winNamesWarn (RadioButton) = 1
winNamesBad (RadioButton) = 0
Opening as 'r' : /home/uggla/.metamorphose2/preferences.ini

(metamorphose2.py:6545): GLib-GObject-WARNING **: invalid (NULL) pointer
instance

(metamorphose2.py:6545): GLib-GObject-CRITICAL **: g_signal_handler_disconnect:
assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(metamorphose2.py:6545): Gtk-CRITICAL **: gtk_window_set_modal: assertion
'GTK_IS_WINDOW (window)' failed
Traceback (most recent call last):
  File "/usr/share/metamorphose2/metamorphose2.py", line 187, in <module>
    main(wx_version, cli_options)
  File "/usr/share/metamorphose2/metamorphose2.py", line 181, in main
    application = BoaApp(0)
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 8628,
in __init__
    self._BootstrapApp()
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 8196,
in _BootstrapApp
    return _core_.PyApp__BootstrapApp(*args, **kwargs)
  File "/usr/share/metamorphose2/metamorphose2.py", line 176, in OnInit
    self.main = MainWindow.create(None, cli_options)
  File "/usr/share/metamorphose2/MainWindow/__init__.py", line 45, in create
    return MainWindow(parent, options)
  File "/usr/share/metamorphose2/MainWindow/__init__.py", line 554, in __init__
    self.__init_ctrls(prnt)
  File "/usr/share/metamorphose2/MainWindow/__init__.py", line 405, in
__init_ctrls
    self.bottomWindow = bottomWindow.MainPanel(self.splitter, self)
  File "/usr/share/metamorphose2/MainWindow/bottomWindow.py", line 284, in
__init__
    self.__init_ctrls(prnt)
  File "/usr/share/metamorphose2/MainWindow/bottomWindow.py", line 236, in
__init_ctrls
    self.display = ListCtrl(self, -1, size=wx.Size(520, -1))
  File "/usr/share/metamorphose2/MainWindow/bottomWindow.py", line 53, in
__init__
    self.set_preferences()
  File "/usr/share/metamorphose2/MainWindow/bottomWindow.py", line 58, in
set_preferences
    self.green.SetBackgroundColour(prefs.get(u'renamedColor'))
  File "/usr/share/metamorphose2/preferences/__init__.py", line 178, in get
    self.__load_preferences()
  File "/usr/share/metamorphose2/preferences/__init__.py", line 102, in
__load_preferences
    self.__create_new()
  File "/usr/share/metamorphose2/preferences/__init__.py", line 66, in
__create_new
    prefDiag.Destroy()
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line
16707, in __getattr__
    raise PyDeadObjectError(self.attrStr % self._name)
wx._core.PyDeadObjectError: The C++ part of the Dialog object has been deleted,
attribute access no longer allowed.

3. Metamorphose starts.

Then metamorphose refuses to start. I guess this is normal because the configuration phase was not completed.

[uggla@ugglalaptop ~]$ metamorphose2  -d
Running in debug mode
Version: 0.8.4 (beta)
Operating System: Linux - 4.1.3-200.fc22.x86_64 - #1 SMP Wed Jul 22 19:51:58 UTC 2015
System encoding: None
Python version: 2.7.10
wxPython version: 3.0.2.0
Interface language: en_US
Opening as 'r' : /home/uggla/.metamorphose2/preferences.ini

(metamorphose2.py:6987): GLib-GObject-WARNING **: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version.

(metamorphose2.py:6987): GLib-GObject-WARNING **: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version.
loading picker core
loading sorting core
loading errors core
loading renamer core
loading operations parser
loading operations parser
loading operations parser
loading renamer preview
loading renamer engine

(metamorphose2.py:6987): GLib-GObject-WARNING **: The property GtkSettings:gtk-menu-images is deprecated and shouldn't be used anymore. It will be removed in a future version.
Segmentation fault (core dumped)

@ianare
Copy link
Member

ianare commented Aug 13, 2015

Strange, I am not getting any of these warnings and no error on startup. I will see if I can find some info on them.

Which desktop environment are you using?

@bagelskat
Copy link

I noticed some files are missing in the master branch compared to the source code for 0.8.2.

make install fails because readme_en.html is missing in the root directory. I got the latest version to install by adding it back.

I was missing a dependency python-wxgtk3.0. Once that was taken care of launching metamorphose worked fine by using the command metamorphose2 -w 3

I'm using Debian Stretch, Gnome 3

screenshot from 2015-09-25 00-56-36

I'll be testing it out more soon. Have a pile of files to be renamed. ;)

@uggla
Copy link

uggla commented Sep 25, 2015

@ianare, sorry for the late answer. I did not noticed your message above before.
I'm using Fedora 22 and Gnome 3.16.2.

@javierpra
Copy link
Contributor

This is also related to #13 .

@uggla
Copy link

uggla commented Sep 25, 2015

@javierpra not sure if the above comment is related to mine. However in my case I manage to build the application.
The problem is when I try to run it, I have a segfault and a coredump...
I tested on my 2 Fedora 22 systems and I got the same on both.

@nerijus
Copy link

nerijus commented Dec 29, 2015

I was able to launch metamorphose2 on Fedora 23 by extracting only wx-2.8-gtk2-unicode directory to /usr/lib64/python2.7/site-packages from wxPython-2.8.12.0-8.fc21.x86_64.rpm.

@careca1970
Copy link

Hi!
I am on Fedora 22, and can run metamorphose2 (either from fc-repo or from git) properly, but only once downgrading wxpython to 2.8.
I get the PIL-message at beginning thou...

What's the actual situation of this issue? Is there a work around that may work for fc22?

Many thanks!

@ianare
Copy link
Member

ianare commented Feb 19, 2016

I think the last commit to master fixes this bug definitely.

After much fighting with this problem, I simply removed the preferences dialog on first start.
I'm thinking it was more of an annoyance anyway ;-)

Preferences are of course still available after the application starts up.

Please test, if it works for you I'll release a new version.

Thanks!

@nerijus
Copy link

nerijus commented Feb 19, 2016

Master still segfaults when launched with -w=3

Edit: it segfaults even when launched without -w=3.
Edit2: it runs when launched with -w=2.

@ianare
Copy link
Member

ianare commented Feb 19, 2016

Damn it!

Can you run with the -d option and post the results here?

Thanks much

@nerijus
Copy link

nerijus commented Feb 19, 2016

$ metamorphose2 -d
Running in debug mode
Application Version: 0.9.0 (beta)
Preferences Version: 0.1.1
Init MainWindow

======== System Info =======
Operating System: Linux - 4.3.5-300.fc23.x86_64 - #1 SMP Mon Feb 1 03:18:41 UTC 2016
Python version: 2.7.10
wxPython version: 3.0.2.0 gtk3 (classic)
============================

== Interface Localization ==
04:23:19 PM: Debug: Failed to connect to session manager: SESSION_MANAGER environment variable not defined
Set language: en_US
Set encoding: None
============================

======== Preferences =======
Try to load preferences from file
Opening as 'r': /home/nerijus/.metamorphose2/preferences.ini
Old version found
Loaded 37 preferences
============================

loading picker core
loading sorting core
loading errors core
loading renamer core
loading operations parser
loading operations parser
loading operations parser
loading renamer preview
loading renamer engine
Segmentavimo klaida (core dumped)

@ianare
Copy link
Member

ianare commented Feb 19, 2016

Try to delete your preferences file:
/home/nerijus/.metamorphose2/preferences.ini

It might fix it...

@nerijus
Copy link

nerijus commented Feb 19, 2016

Still the same:

======== Preferences =======
Try to load preferences from file
File does not exist or is empty: Using default preferences
Opening as 'r': /usr/share/metamorphose2/preferences/default.ini
Old version found
Loaded 37 preferences
============================

loading picker core
loading sorting core
loading errors core
loading renamer core
loading operations parser
loading operations parser
loading operations parser
loading renamer preview
loading renamer engine
Segmentavimo klaida (core dumped)

@nerijus
Copy link

nerijus commented Feb 19, 2016

BTW, I see /usr/share/metamorphose2/preferences/default.ini has the path:
logLocation=/home/ianare/.metamorphose2/undo

@nerijus
Copy link

nerijus commented Feb 19, 2016

It launched when I deleted /home/nerijus/.metamorphose2/language.ini, but after choosing language it segfaulted again.

@ianare
Copy link
Member

ianare commented Feb 19, 2016

Well back to work... will let you know when I have something. Thnaks for the patience ;-)

@ddidier
Copy link

ddidier commented Jul 19, 2016

any news? doesn't work on Ubuntu 16.04 either (wxpython 3)

@Abhinav1217
Copy link

I am unable to launch on Fedora 24 even with the -w comand

("\nwxPython 2.8 is required!\nRefer to 'readme_xx.html'", ' for installation instructions.\n')
[Abhinav@abhinav-f24 ~] $ metamorphose2 -w 3.0
("\nwxPython 2.8 is required!\nRefer to 'readme_xx.html'", ' for installation instructions.\n')
[Abhinav@abhinav-f24 ~] $ metamorphose2 -w 3
("\nwxPython 2.8 is required!\nRefer to 'readme_xx.html'", ' for installation instructions.\n')
[Abhinav@abhinav-f24 ~] $ metamorphose2 -d
("\nwxPython 2.8 is required!\nRefer to 'readme_xx.html'", ' for installation instructions.\n')

@nippur14
Copy link

nippur14 commented Jan 8, 2017

Still an issue in 2017
Fedora 24

@zANavAShi
Copy link

Hi ianare, any progress resolving this issue please? I just upgraded from Ubuntu Trusty LTS to Ubunt Xenial LTS and heartbroken to discover that my best ever file renaming app for linux will not run with latest Python. I messed around for 3 hours trying the tips suggested above and no luck :-(

@javierpra
Copy link
Contributor

Here's a trace which I believe may be related.

(gdb) run /usr/share/metamorphose2/metamorphose2.py
Starting program: /usr/bin/python /usr/share/metamorphose2/metamorphose2.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Detaching after fork from child process 2905.
[New Thread 0x7fffd53da700 (LWP 2907)]
[New Thread 0x7fffd4bd9700 (LWP 2908)]
Detaching after fork from child process 2909.
Detaching after fork from child process 2911.
Detaching after fork from child process 2913.
Detaching after fork from child process 2915.
Detaching after fork from child process 2917.
[New Thread 0x7fffccdfc700 (LWP 2919)]

Thread 1 "python" received signal SIGSEGV, Segmentation fault.
0x00007fffee6e3d96 in wxGetTopLevelParent(wxWindow*) ()
from /lib64/libwx_gtk3u_core-3.0.so.0

@javierpra
Copy link
Contributor

javierpra commented Jan 20, 2017

NOTE: The following may break other applications that rely on wxPython 3

As a workaround the following works. You can downgrade wxPython to 2.8.12. This worked for me on Fedora 24 as follows:

$wget https://kojipkgs.fedoraproject.org//packages/wxPython/2.8.12.0/9.el7/x86_64/wxPython-2.8.12.0-9.el7.x86_64.rpm

$sudo dnf downgrade wxPython-2.8.12.0-9.el7.x86_64.rpm

$cd metamorphose2/

$sudo make all

@uggla
Copy link

uggla commented Feb 3, 2017

@ianare I was on fire today and I decided to really look at this issue.

Here is an early report of my findings, I probably need to look deeper in the code however, I think I have found the reason of the segfault.

I'm using Fedora 24 (wxPython 3.0.2)

The line which is causing the segfault is in /usr/share/metamorphose2/renamer/wxRenamerView.py. Line 144.

`class IntroTextPanel(wx.Panel):                                                                                                                                                                                
123     """                                                                                                                                                                                                        
124     Show intro text, set app size                                                                                                                                                                              
125     """                                                                                                                                                                                                        
126     def __init__(self, prnt, id):                                                                                                                                                                              
127     ┆   wx.Panel.__init__(self, id=id, name=u'IntroTextPanel',                                                                                                                                                 
128     ┆   ┆   ┆   ┆   ┆   ┆ parent=prnt, style=wx.TAB_TRAVERSAL)                                                                                                                                                 
129                                                                                                                                                                                                                
130     ┆   # create info text of available operations                                                                                                                                                             
131     ┆   # Find largest panel, use it to set this panel size                                                                                                                                                    
132     ┆   txt = ''                                                                                                                                                                                               
133     ┆   txtSize = (0, 0)                                                                                                                                                                                       
134     ┆   for i in range(prnt.availableOperations.GetItemCount()):                                                                                                                                               
135     ┆   ┆   op = prnt.availableOperations.GetItemText(i)                                                                                                                                                       
136     ┆   ┆   txt += "%s  :  %s\n\n" % (op, operations.defs[op][1])                                                                                                                                              
137                                                                                                                                                                                                                
138     ┆   ┆   # create temporary instance of panel to get size                                                                                                                                                   
139     ┆   ┆   op = operations.defs[op][0]                                                                                                                                                                        
140     ┆   ┆   opPanel = getattr(operations, op).OpPanel(prnt, main)                                                                                                                                              
141     ┆   ┆   size = opPanel.GetSizeTuple()                                                                                                                                                                      
142     ┆   ┆   if size > txtSize:                                                                                                                                                                                 
143     ┆   ┆   ┆   txtSize = size                                                                                                                                                                                 
144         #    opPanel.Destroy()  --> commenting this line will avoid the segfault.

So right now metamorphose is not segfaulting anymore, but the gui is screwed.
That sounds normal as the panel size was probably not defined correctly.

Here is a screenshot:
https://framapic.org/xsFia1T7PtN4/uEligUWjU07t.png
https://framapic.org/a9vSQK9k2QSM/RxCq5Jg39Wj3.png

If someone else could do the same and confirm it is resolving the segfault, that will be great.

uggla added a commit to uggla/metamorphose2 that referenced this issue Feb 20, 2017
- This is probably not the best fixes, however it avoids metamorphose2
  to segfault.
@javierpra
Copy link
Contributor

@uggla @ianare So Uggla seems to have found the issue. I played with this a bit. I don't know the reason for it yet, but it doesn't seem to specifically like the Destroy() function. Changing this to Close() removes the segfault for me. I don't have much time to play with this as I used to.

line 144 opPanel.Close()

@uggla
Copy link

uggla commented Mar 11, 2017

@javierpra 👍
Thanks for checking on your side.

@zANavAShi
Copy link

Awesome work on troubleshooting this issue guys! Any chance this might result in a bug-fix release in the near future?

Alternatively.....

Would it be safe to install a parallel (older/compatible) version of python alongside the one which comes bundled with Ubuntu Studio Xenial?

Thanks a bunch :-)

@uggla
Copy link

uggla commented Apr 19, 2017

I have created Metamorphose2 Fedora RPMS.
The fix is probably a bit raw. However Metamorphose can be used despite some interface glitches, probably due to wxpython3.
https://copr.fedorainfracloud.org/coprs/uggla/metamorphose2/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests