pyfa-org / Pyfa

Python fitting assistant, cross-platform fitting tool for EVE Online
GNU General Public License v3.0
1.6k stars 406 forks source link

Crash on startup after version update #1553

Closed Eydorian closed 6 years ago

Eydorian commented 6 years ago

Bug Report

I've updated from the last update version to version 2.0: copy/pasted all the files in the zip folder to my current pyfa folder, overriding existing files. Then I start the program and I get the error below. I tried to restart windows, same behavior.

Expected behavior:

Start program

Actual behavior:

Crash with pyfa error window opening

Detailed steps to reproduce:

Copy/pasted all the files in the zip folder to my current pyfa folder, overriding existing files Start the program -> crash

Fits involved in EFT format (Edit > To Clipboard > EFT):

N/A

Release or development git branch? Please note the release version or commit hash:

pyfa-2.0.0-yc120.3-1.8-win.zip

Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

Windows 7

Other relevant information:

OS version: Windows-7-6.1.7601-SP1 Python version: 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] wxPython version: 4.0.0b2 (wxWidgets 3.0.4) SQLAlchemy version: 1.1.10 Logbook version: 1.0.0 Requests version: 2.18.4 Dateutil version: 2.6.0

####################

Traceback (most recent call last): File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\pyfa.py", line 135, in File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 166, in init File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\bitmap_loader.py", line 65, in getBitmap File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\bitmap_loader.py", line 87, in getImage TypeError: initial_value must be str or None, not bytes

Vatierville commented 6 years ago

OS version: Windows-10-10.0.16299-SP0 Python version: 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] wxPython version: 4.0.0b2 (wxWidgets 3.0.4) SQLAlchemy version: 1.1.10 Logbook version: 1.0.0 Requests version: 2.18.4 Dateutil version: 2.6.0

####################

Traceback (most recent call last): File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\pyfa.py", line 135, in File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 166, in init File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\bitmap_loader.py", line 65, in getBitmap File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\bitmap_loader.py", line 87, in getImage TypeError: initial_value must be str or None, not bytes

R6034 An application has made an attempt to load the C runtime library incorrectly

blitzmann commented 6 years ago

copy/pasted all the files in the zip folder to my current pyfa folder

This might be where you went wrong. 2.0 uses a different build process, you probably can't just copy/paste over 1.x and expect it to work. I would recommend removing the pyfa directory completely, or extracting the 2.0 version to it's own pristine directory somewhere.

Try this and please let me know if it works. :)

Eydorian commented 6 years ago

Renaming the old pyfa directory "pyfa_old" and copying the new 2.0 directory at the previous location works well. Thanks!

blitzmann commented 6 years ago

No problem! My bad for not explicitly stating in the release notes that you can't just jump the extracted zip file onto the old installation. :P

Also, heads up, will be releasing a point release tonight hopefully that includes an installer that should take care of this issue automatically!

blitzmann commented 6 years ago

The new point release is out with the new installer :)

mayumi7 commented 6 years ago

I had a previous installation from pyfa-1.36.0-yc120.3-1.8-win.exe and let the current pyfa-2.0.2-yc120.3-1.8-win.exe installer do it's job and I'm now getting this error.

OS version: Windows-10-10.0.16299-SP0 Python version: 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] wxPython version: 4.0.0b2 (wxWidgets 3.0.4) SQLAlchemy version: 1.1.10 Logbook version: 1.0.0 Requests version: 2.18.4 Dateutil version: 2.6.0

####################

Traceback (most recent call last): File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\pyfa.py", line 135, in File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 167, in init File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\bitmap_loader.py", line 65, in getBitmap File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\bitmap_loader.py", line 87, in getImage TypeError: initial_value must be str or None, not bytes

After running the uninstaller the pyfa folder still contains these files which the uninstaller probably should remove?

Directory of C:\Program Files (x86)\pyfa 25.03.2018 17.17 1 445 431 imgs.zip 12.01.2016 05.32 1 046 728 libiomp5md.dll 12.01.2016 05.32 141 312 numpy.core.scalarmath.pyd 12.01.2016 05.32 5 112 320 numpy.core._dotblas.pyd 12.01.2016 05.32 23 552 numpy.lib._compiled_base.pyd 12.01.2016 05.32 2 459 648 python27.dll 12.01.2016 05.32 110 080 pywintypes27.dll 12.01.2016 05.32 33 792 simplejson._speedups.pyd 12.01.2016 05.32 10 752 sqlalchemy.cprocessors.pyd 12.01.2016 05.32 12 288 sqlalchemy.cresultproxy.pyd 12.01.2016 05.32 7 680 sqlalchemy.cutils.pyd 12.01.2016 05.32 1 067 008 wx.controls.pyd 12.01.2016 05.32 1 176 576 wx.core.pyd 12.01.2016 05.32 806 400 wx.gdi.pyd 12.01.2016 05.32 413 696 wx._gizmos.pyd 12.01.2016 05.32 733 184 wx.misc.pyd 12.01.2016 05.32 816 128 wx.windows.pyd 12.01.2016 05.32 155 136 wxbase30u_net_vc90.dll 12.01.2016 05.32 2 030 592 wxbase30u_vc90.dll 12.01.2016 05.32 1 251 328 wxmsw30u_adv_vc90.dll 12.01.2016 05.32 4 796 928 wxmsw30u_core_vc90.dll 12.01.2016 05.32 601 088 wxmsw30u_html_vc90.dll 12.01.2016 05.32 702 976 wxmsw30u_propgrid_vc90.dll 12.01.2016 05.32 922 624 wxmsw30u_stc_vc90.dll 24 File(s) 25 877 247 bytes 2 Dir(s) 16 802 299 904 bytes free

blitzmann commented 6 years ago

I had a previous installation from pyfa-1.36.0-yc120.3-1.8-win.exe and let the current pyfa-2.0.2-yc120.3-1.8-win.exe installer do it's job and I'm now getting this error.

The new installer should check to see if the previous version is installed, and if so uses the previous installer to uninstall it completely. That's the uninstallers job, and AFAIK it removes every file it added in the first place (also just double checked this).

It's all based in what's in the registry though. If you, for example, ever unzipped the pyfa .zip release into the installed program file path, that could cause issues. Could be something else going on here as well, I'm not sure. But to be safe, just uninstall the old version (from "add or remove programs") and double check that everything is gone, then reinstall the new version. :)

mayumi7 commented 6 years ago

It did run the uninstaller automatically, just noticed that there were still files left over in the folder. Removing all the leftover files manually and running the installer afterwards fixed the issue. It's possible I have used a zip version in 2016, can't say for sure.

blitzmann commented 6 years ago

It did run the uninstaller automatically, just noticed that there were still files left over in the folder.

Yeah, that's weird. ¯_(ツ)_/¯ Any major version bump is bound to have small issues like this though, thankfully it's only a small subset of users