peterbn / EDx52display

Reading Elite: Dangerous journal information and displaying on a Logitech X52 PRO MFD
GNU General Public License v2.0
41 stars 6 forks source link

Fatal error when paging into the stick driver's default page #7

Closed TrollDecker closed 3 years ago

TrollDecker commented 3 years ago

Hi,

I'm finding this tool crashes when I change the page to the one provided by the stock driver (the page with Mode x, pressed button, profile name that Saitek and later Logitech decided shouldn't be configurable? That one, yeah.)

It'll come up with FATAL: the operation completed successfully. and cease working to the point at which I can still page up and down,but anything other than the stock driver page will be blank.

I don't know what log level I should be looking at either.

peterbn commented 3 years ago

Hi TrollDecker,

To be clear, all you do is

  1. Have the HOTAS plugged in
  2. Run the display tool
  3. Use the page-up or page-down scroll to navigate to the stock page (I know the one you mean)

and then it crashes?

Very curious. Are you using the Saitek or Logitech-provided drivers? And is your joystick Saitek or Logitech branded?

I will see if I can add more logging to get clarity on the issue in the following days.

You can try to run the tool with log level debug from a command-line window, to see if that produces a stacktrace or similar

TrollDecker commented 3 years ago

Hi TrollDecker,

To be clear, all you do is

1. Have the HOTAS plugged in

2. Run the display tool

3. Use the page-up or page-down scroll to navigate to the stock page (I know the one you mean)

and then it crashes?

Yep.

Very curious. Are you using the Saitek or Logitech-provided drivers? And is your joystick Saitek or Logitech branded?

The stick is Saitek branded, and I'm using Logitech's drivers.

TrollDecker commented 3 years ago

Okie dokie, this is what I got when it crashed again.

WARNING: hresult ff040001

FATAL: The operation completed successfully.
peterbn commented 3 years ago

Hi TrollDecker,

Very interesting. That error means that my code is trying to write text to that page, which fails because it isn't allowed to.

I can probably just ignore that error in the code instead of hard-crashing, but it's the first time I've seen it happen like that.

Can you try to run again with log level trace? It will produce a lot of output, but should give me a clue as to what signals the code receives from the hotas, and what the best way would be to prevent this crash in the future.

If you don't have the time, that's ok. I can still do a build that simply ignores that specific error - I should have time for that during the weekend.

Thanks.

TrollDecker commented 3 years ago

(Sorry for the delay, massacre mission was driving me up the wall and I almost forgot. XD)

DEBUG: Loading configuration...
DEBUG: Configuration loaded.
INFO: Initializing device driver...
DEBUG: Initializing driver connection
DEBUG: Registering device callbacks
DEBUG: Searching for device
DEBUG: Found device
DEBUG: Device found.
DEBUG: Setting up page button callback
DEBUG: Setting up scroll button callback
DEBUG: Adding pages...
DEBUG: Device init complete
INFO: Starting journal listener
DEBUG: Looking for journal files in C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
DEBUG: Requesting information from EDSM: https://www.edsm.net/api-system-v1/bodies?systemId64=1694121331043
DEBUG: Requesting information from EDSM: https://www.edsm.net/api-system-v1/estimated-value?systemId64=1694121331043
DEBUG: Refreshing display
INFO: EDx52Display running. Press enter to close.
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
DEBUG: Refreshing display
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
DEBUG: Refreshing display
TRACE: onPageChange 0 false
TRACE: onPageChange 1 true
DEBUG: Refreshing display
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
DEBUG: Refreshing display
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
DEBUG: Refreshing display
TRACE: onPageChange 1 false
TRACE: onPageChange 2 true
DEBUG: Refreshing display
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
TRACE: onPageChange 2 false
TRACE: Reading journal file C:\Users\coher\Saved Games\Frontier Developments\Elite Dangerous\Journal.210603203342.01.log
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/bodies?systemId64=%d 1694121331043
TRACE: getBodyInfo https://www.edsm.net/api-system-v1/estimated-value?systemId64=%d 1694121331043
TRACE: system info found in cache
TRACE: system info found in cache
DEBUG: Refreshing display
WARNING: hresult ff040001

FATAL: The operation completed successfully.
peterbn commented 3 years ago

Thank you for that log trace.

It allowed me to identify the issue.

Please try out the latest version: https://github.com/peterbn/EDx52display/releases/tag/v1.3.1

TrollDecker commented 3 years ago

Seems to be working great, no crashes at all. Thanks! 👍