nomns / nparse

Nomns' Parser for Project1999
GNU General Public License v3.0
43 stars 22 forks source link

No spell timers - seg fault (Ubuntu Linux) #62

Closed WaywardWebDesign closed 5 months ago

WaywardWebDesign commented 1 year ago

Hi Nomns, huge fan of your work.

I've managed to install under Ubuntu, and have the program pointed to my logfile directory. Something seems to cause a segmentation fault as soon as I cast a spell. If you have any idea how I might rectify this I would be grateful.

WaywardWebDesign commented 1 year ago

Fatal Python error: Segmentation fault

Thread 0x00007fc87b7fe640 (most recent call first): File "/usr/lib/python3.10/selectors.py", line 469 in select File "/home/tom/.local/lib/python3.10/site-packages/websocket/_app.py", line 77 in read File "/home/tom/.local/lib/python3.10/site-packages/websocket/_app.py", line 415 in setSock File "/home/tom/.local/lib/python3.10/site-packages/websocket/_app.py", line 487 in run_forever File "/home/tom/nparse/helpers/location_service.py", line 111 in run

Current thread 0x00007fc8a7d00000 (most recent call first): File "/home/tom/nparse/nparse.py", line 243 in

Extension modules: PyQt6.QtCore, PyQt6.QtGui, PyQt6.QtWidgets, PyQt6.QtNetwork, PyQt6.QtPrintSupport, PyQt6.QtWebChannel, PyQt6.QtWebEngineCore, PyQt6.QtWebEngineWidgets (total: 8) Segmentation fault (core dumped)

solenum commented 1 year ago

Same issue here (linux/arch), spell timers don't work at all and just crash nparse, I've tried using a venv for python and installing from the requirements file but no luck, I'll post the actual error next chance I get.

sarekrn commented 1 year ago

I am having the same issue (linux mint). Its unfortunately, maps look good but cannot use the application at all due to the segmentation dumps. Any work on a fix?

solenum commented 1 year ago

I've failed to get any other spell timers/log parsers working on Linux so I'll have to take a look at this over the weekend and see if I can fix it myself. Had no luck trying a few different versions of nparse, same issue on all of them.

solenum commented 1 year ago

Had a look and couldn't figure it out, looks like the segfault is coming from something in Qt6? I've run the latest release via wine and it seems to work ok that way, though no tray app so you'll need to edit the nparse config directly to set your log dir, etc.

Janky workaround but there's no alternative right now and unfortunately it looks like development on this is dead.

Edit; To clarify, either use the official Windows release via wine (you play EQ via wine anyway), or untick the spell timers in nparse and just use it for the maps.

Dgc2002 commented 7 months ago

Looks like I'm running into this issue on Windows.

I believe the issue occurs when the log file becomes too large. I noticed that this issue started once my file passed ~32,000kb. Disabling the spell list window avoided the crash.

Some clues are available in the crash dump generated on windows:

ExceptionAddress: 72fef081 (Qt5Core+0x0001f081)
   ExceptionCode: c0000409 (Security check failure or stack buffer overrun)
  ExceptionFlags: 00000001
NumberParameters: 1
   Parameter[0]: 00000007
Subcode: 0x7 FAST_FAIL_FATAL_APP_EXIT 

PROCESS_NAME:  nparse.exe

ERROR_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.

For the time being you can work around this issue by deleting(or renaming) your existing log and generating a new one by launching EverQuest.

Dgc2002 commented 7 months ago

I'm encountering this issue again while using a completely fresh log file so my above guess and work around do not apply.

I'm unable to properly debug this using PyCharm. I assume that's due to the crash happening somewhere in a Qt5 DLL.

requirements.txt calls out for PyQT6 which is what is installed in my project's venv but the minidump says the fault happens in Qt5Core. Any ideas on why that is?

rm-you commented 5 months ago

You should use the branch "stable/qt5" for now. That is the branch all current releases are coming from. The issue @Dgc2002 just linked is the same thing, and has a possible solution, though I still don't recommend using the master branch at this moment because it is missing some other fixes and features. I'll be working the issue from the other ticket, closing this one.