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

Not starting on manjaro #225

Closed
O1ez opened this issue Dec 24, 2022 · 13 comments
Closed

Not starting on manjaro #225

O1ez opened this issue Dec 24, 2022 · 13 comments

Comments

@O1ez
Copy link

O1ez commented Dec 24, 2022

I have the problem that the program won´t run on manjaro. I tried installing from the software center, via pacman and via pip. It is the same everywhere. There appear multiple issue windows when I try to start it. Here is a picture for it since I can´t copy the code out of the windows. They all say the same:
https://imgur.com/a/mzx4ok4

@O1ez
Copy link
Author

O1ez commented Dec 27, 2022

Oh and I also tried on multiple devices. It is the same everywhere

@p5k369
Copy link
Collaborator

p5k369 commented Dec 31, 2022

Hey @O1ez if you want us to help you we need to know exactly what you are doing (like console input and output). Also note that we can only provide little to none support for distribution specific packages atm.

@ignace72
Copy link

Hello, @O1ez.
As @p5k369 says, we need additional information.
There are three ways to install DisplayCAL in Python 3 on Manjaro Linux.
With the Manjaro package, with the method described in the README.md file with pip and Python virtual environment and with “pip install displaycal”.

@mizzack
Copy link

mizzack commented Feb 1, 2023

Seeing this as well using the 3.9.10-1 AUR package (https://archlinux.org/packages/community/x86_64/displaycal/) and Python 3.10.9

┌──────────────────────────────────────────────────────────────────────────────┐
│ Traceback (most recent call last):                                           │
│   File "/usr/lib/python3.10/site-packages/wx/core.py", line 2346, in Notify  │
│     self.notify()                                                            │
│   File "/usr/lib/python3.10/site-packages/wx/core.py", line 3552, in Notify  │
│     self.result = self.callable(*self.args, **self.kwargs)                   │
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/display_cal.py", line   │
│ 19425, in startup                                                            │
│     self.timeout = wx.CallLater(20000, self.worker.abort_subprocess)         │
│   File "/usr/lib/python3.10/site-packages/wx/core.py", line 3471, in         │
│ __init__                                                                     │
│     self.Start()                                                             │
│   File "/usr/lib/python3.10/site-packages/wx/core.py", line 3492, in Start   │
│     self.timer.Start(self.millis, wx.TIMER_ONE_SHOT)                         │
│ wx._core.wxAssertionError: C++ assertion "wxThread::IsMain()" failed at      │
│ /usr/src/debug/wxwidgets/wxWidgets-3.2.1/src/common/timerimpl.cpp(56) in     │
│ Start(): timer can only be started from the main thread                      │
└──────────────────────────────────────────────────────────────────────────────┘

@ignace72
Copy link

ignace72 commented Feb 1, 2023

Hello, mizzack.
I can't reproduce your error.
I'm on Manjaro Linux.

@mizzack
Copy link

mizzack commented Feb 3, 2023

I have another PC running the same versions of Python, Manjaro, and DisplayCAL and it works there. Comparing the startup logs, the only difference I could see is that the working instance shows Audio module: wx 4.2.0 and the non-working instance shows Audio module: pyglet 2.0.2.

Not sure why those would be different.

Anyway, to see if the audio system had something to do with the crash, I added startup_sound.enable = 0 to DisplayCAL.ini and it now works. I'll report back if I have any other issues.

@O1ez
Copy link
Author

O1ez commented Feb 26, 2023

Anyway, to see if the audio system had something to do with the crash, I added startup_sound.enable = 0 to DisplayCAL.ini and it now works. I'll report back if I have any other issues.

This fixes it so I can start the program now but when I start a measurement after a short while this error comes up:

│ Traceback (most recent call last):                                           │  
│   File "/usr/lib/python3.10/site-packages/wx/core.py", line 3427, in         │  
│ <lambda>                                                                     │  
│     lambda event: event.callable(*event.args, **event.kw) )                  │  
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/worker.py", line 12921, │  
│ in parse                                                                     │  
│     self.check_instrument_place_on_screen(txt)                               │  
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/worker.py", line 3293,  │  
│ in check_instrument_place_on_screen                                          │  
│     wx.CallLater(1500, self.instrument_on_screen_continue)                   │  
│   File "/usr/lib/python3.10/site-packages/wx/core.py", line 3471, in         │  
│ __init__                                                                     │  
│     self.Start()                                                             │  
│   File "/usr/lib/python3.10/site-packages/wx/core.py", line 3492, in Start   │  
│     self.timer.Start(self.millis, wx.TIMER_ONE_SHOT)                         │  
│ wx._core.wxAssertionError: C++ assertion "wxThread::IsMain()" failed at      │  
│ /usr/src/debug/wxwidgets/wxWidgets-3.2.2.1/src/common/timerimpl.cpp(56) in   │  
│ Start(): timer can only be started from the main thread        

Looks to me very similar to the original one so maybe it tries to play a sound there too?
I can click "start measurement" again afterwards and it will measure without problems. When I click "continue on to calibration" however this error comes up:

│ Traceback (most recent call last):                                           │  
│   File "/usr/lib/python3.10/site-packages/wx/core.py", line 3427, in         │  
│ <lambda>                                                                     │  
│     lambda event: event.callable(*event.args, **event.kw) )                  │  
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/worker.py", line 14917, │  
│ in swap_progress_wnds                                                        │  
│     self.progress_dlg_start(title, "", parent, self.resume, self.fancy)      │  
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/worker.py", line 14242, │  
│ in progress_dlg_start                                                        │  
│     self._progress_dlgs[key] = ProgressDialog(                               │  
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/wxwindows.py", line     │  
│ 6167, in __init__                                                            │  
│     self.gauge = BetterPyGauge(                                              │  
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/wxwindows.py", line     │  
│ 5294, in __init__                                                            │  
│     self.Start()                                                             │  
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/wxwindows.py", line     │  
│ 5410, in Start                                                               │  
│     self._timer.Start(milliseconds)                                          │  
│ wx._core.wxAssertionError: C++ assertion "wxThread::IsMain()" failed at      │  
│ /usr/src/debug/wxwidgets/wxWidgets-3.2.2.1/src/common/timerimpl.cpp(56) in   │  
│ Start(): timer can only be started from the main thread                      │  

and afterward this error multiple times per second:

│ Traceback (most recent call last):                                           │  
│   File "/usr/lib/python3.10/site-packages/DisplayCAL/wxwindows.py", line     │  
│ 5363, in OnTimer                                                             │  
│     self._barGradient = [self._gradients[self.gradientindex]]                │  
│ IndexError: list index out of range                                          │  

My wxpython is on the newest version.

@eoyilmaz
Copy link
Owner

hey @O1ez can you try installing DisplayCAL from the development branch as explained in the README. Let's be sure that you can produce this with our latest development version.

@Mister-Teatime
Copy link

I'm on Manjaro (and having a different issue, #249, but it starts without problems). Maybe the following is useful, since the issue seems to be related to the GUI:

I installed all packages to do with DisplayCal (all 7 of them, all version 3.9.10-1), and I have wxwidgets-common and wxwidgets-gtk3 installed (both from the "extra" Manjaro repo, both version 3.2.2.1-1), and python-wxpython 1:4.2.0-3

Sometimes things fail on Manjaro because some package from an AUR repository is interfering. If Python is involved, there are also possible issues if you installed one of the relevant Python libraries via pip and not via pamac -- they might install a different version, and suddenly something's no longer compatible. Worse yet: Pip can overwrite files from packages you installed via pamac, and then you have an incompatible verison of some Python module without an easy way to spot it after the fact.

==> You could try to remove all of DisplayCal, WXwidgets and wxpython, and install them fresh, from Pamac (or Octopi, or whatever you prefer to use for Manjaro packages), while ignoring AUR repositories.

@ignace72
Copy link

Hello to all and you, Mister-Teatime.
To avoid breaking everything with pip as you explain, it is better to never use pip with sudo.

@eoyilmaz
Copy link
Owner

eoyilmaz commented May 1, 2023

Yes, please use a virtual environment to install DisplayCAL and not make your system python dirty... closing this issue then.

@eoyilmaz eoyilmaz closed this as completed May 1, 2023
@papoteur-mga
Copy link

We got the same error in Mageia 9.

displaycal
Acquired lock file: <DisplayCAL.main.AppLock object at 0x7f451bec7910>
displaycal 3.9.11 2023-06-05T17:07:58Z
mageia 9 mga9 x86_64
Python 3.10.11 (main, Apr 16 2023, 03:21:15) [GCC 12.2.1 20230415]
Faulthandler 
wxPython 4.2.0 gtk3 (phoenix) wxWidgets 3.2.1
Encoding: utf-8
File system encoding: utf-8

@papoteur-mga
Copy link

The error occurs when using pyglet for sound. When installing SDL2 lib, there is no problem.

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

7 participants