EDCD / EDDI

Companion application for Elite Dangerous
Other
444 stars 81 forks source link

Jump script error #2431

Closed wraithedge01 closed 1 year ago

wraithedge01 commented 1 year ago

v. 4.0.2-b2

When jumping into a system, jump script reports an error. Happens every time since update to 4.0.2 from 4.0.1.

Error: Error with jump script. Object reference not set to an instance of an object.

Tkael commented 1 year ago

Hmm. Are you using the default script?

wraithedge01 commented 1 year ago

Yes, all EDDI content is default as installed, no customizations.

I did view the script for the jump event and it was present and undamaged as far as I could tell.

EDDI personality is default as well with no copies or additional personalities present.

On Tue, Dec 6, 2022, 7:45 PM Brian Wilson @.***> wrote:

Hmm. Are you using the default script?

— Reply to this email directly, view it on GitHub https://github.com/EDCD/EDDI/issues/2431#issuecomment-1340259996, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4TMXI4EHVLXSVLQQIDV5UTWL7T4JANCNFSM6AAAAAASWFFG2A . You are receiving this because you authored the thread.Message ID: @.***>

Cythrawl commented 1 year ago

Also get the same issue. Happened with that last beta as well. Script is default and I have a done clean install of EDDI as well and set API Backends back up. Connection to Frontier API etc is all operational,

Even repeats the same error when you run the script via test in personality.

For now I just disabled that script from the personality

Cutting and pasting script

{_ Context }
{SetState('eddi_context_last_subject', 'jump')}
{SetState('eddi_context_last_action', 'complete')}
{SetState('eddi_context_system_name', system.name)}
{SetState('eddi_context_system_system', system.name)}
{SetState('eddi_context_fuel_remaining', event.fuelremaining)}
{SetState('eddi_context_fuel_used', event.fuelused)}
{SetState('eddi_context_wanted_list', "")}

{set next_system to RouteDetails("update")}
{F('Fuel check')}

{set reportsystem to SystemDetails(event.system)}
{if !reportsystem.population && lastsystem.population:
    {OneOf("This system is not populated","There is no human presence here", "Humans have yet to colonise this system")}.
|elif reportsystem.population:
    {if SecondsSince(reportsystem.lastVisitSeconds) > 3600:
        {F("System report")}
    }
}

{if reportsystem.name = homesystem.name:
    Welcome home, {F("Honorific")}
|else:
    {set ReportDistanceFromHome() to:
        {if reportsystem.distancefromhome:
            {return cat(
                OneOf("You are", "Current location is", "You are now"), " ",
                Humanise(reportsystem.distancefromhome), " lightyears from ",
                OneOf("home", P(homesystem.name, 'starsystem')), "."
            )}
        |elif carrier.currentStarSystem:
            {set toSystem to SystemDetails(carrier.currentStarSystem)}
            {set dist to round(Distance(system.x, system.y, system.z, toSystem.x, toSystem.y, toSystem.z))}
            {return cat(
                OneOf("You are", "Current location is", "You are now"), " ",
                Humanise(dist), " lightyears from ",
                OneOf("home", carrier.name), "."
            )}
        }
    } 
    {Occasionally(7, ReportDistanceFromHome())}
}

{if reportsystem.comment:
    You made a {OneOf("note", "comment", "remark")} {OneOf("about", "for", "on")} this system.  It {OneOf("is as follows", "says", "reads", "is")} {reportsystem.comment}.
}

{_ Report faction states only if it's been more than an hour (3600 seconds) since our last visit. _}
{if SecondsSince(state.eddi_context_system_lastvisit) / 3600 > 1:
    {set state_report to F("System state report")}
}

{set system_engineer to F("Engineer report")}
{set system_missions to F("Mission check system")}
{set system_crimes to F("Crime check system")}

{if state_report || system_engineer || system_missions || (system_crimes && find(system_crimes, "Warning") < 0):
    {Pause(500)}
    Information:
}

{if state_report:
    {Pause(500)}
    {state_report}
}
{if system_engineer:
    {Pause(500)}
    {system_engineer}
}
{if system_missions:
    {Pause(500)}
    {system_missions}
}
{if system_crimes:
    {Pause(500)}
    {system_crimes}
}
Tkael commented 1 year ago

I have not observed this, but this script does pull in quite a bit of contextual data (not all of which is captured by the canned test event). The specific star system location where you are observing this could be a useful clue, and if you can use comments or selective (temporary) deletion to isolate the specific script line or child script triggering the exception then that would be very helpful also. o7

Cythrawl commented 1 year ago

It happens when you arrive at every star system (which is why I turned it off) I also am encountering the same thing when I got back to the bubble and docked with station it repeats the same error in script when I take off from any Landing pad. Currently in the Doris System did it when I took off from Bulmer Terminal and also when I launched from System 78 Ursae Majoris from station Rominger Dock (https://eddb.io/station/451) and when I test the undocked script I get the same error.

I will try turning on the other script now I am back i the bubble and report any changes

Cythrawl commented 1 year ago

Travelled from Doris to the system with the current community goal in the bubble and it script errored on jump in every system.

Current flight log for today (I am now done for the day) so you can look at the systems I was in. https://www.edsm.net/en/user/flight-logs/id/25820/cmdr/Cythrawl

Tkael commented 1 year ago

Please provide a verbose copy of eddi.log and speechresponder.out capturing this issue to help me trace it. I'm not observing this issue in my tests.

Tkael commented 1 year ago

If you have the same error when you take off from a landing pad then the most likely culprit is the {set next_system to RouteDetails("update")} command in both scripts. Copies of your Navigation Monitor settings (from navigationmonitor.json in the normal %appdata%/EDDI config folder) may also prove useful.

kc9eye commented 1 year ago

Not sure if this is related or not, but EDDI has stopped sending any data to third party vendors.

Tkael commented 1 year ago

Not sure if this is related or not, but EDDI has stopped sending any data to third party vendors.

I don't know if it is related either (this ticket was not started using the bug report template and there's a lot of basic information about the conditions where this manifests that are still unclear).

If you are running Elite in Legacy mode Horizons version 3.8) then we have stopped sending to 3rd party services that only accept data from the Live galaxy. If this is occurring then it will be recorded in EDDI's log files.

kc9eye commented 1 year ago

Not running in legacy. EDDiscovery is t having any problems sending data, as I had to start using it as EDDI has stopped.

“Simplicity is the ultimate sophistication.”

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

Not sure if this is related or not, but EDDI has stopped sending any data to third party vendors.

If you are running Elite in Legacy mode Horizons version 3.8) then we have stopped sending to 3rd party services that only accept data from the Live galaxy. If this is occurring then it will be recorded in EDDI's log files.

— Reply to this email directly, view it on GitHubhttps://github.com/EDCD/EDDI/issues/2431#issuecomment-1344456407, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AB2C2ZSILNPGLGJBHH5S2ITWMNHB5ANCNFSM6AAAAAASWFFG2A. You are receiving this because you commented.Message ID: @.***>

Tkael commented 1 year ago

Not running in legacy. EDDiscovery is t having any problems sending data, as I had to start using it as EDDI has stopped.

“Simplicity is the ultimate sophistication.”

  • Clare Boothe Luce

    From: Brian Wilson @.> Sent: Friday, December 9, 2022 9:39:10 AM To: EDCD/EDDI @.> Cc: P.Lane @.>; Comment @.> Subject: Re: [EDCD/EDDI] Jump script error (Issue #2431)

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

Not sure if this is related or not, but EDDI has stopped sending any data to third party vendors.

If you are running Elite in Legacy mode Horizons version 3.8) then we have stopped sending to 3rd party services that only accept data from the Live galaxy. If this is occurring then it will be recorded in EDDI's log files.

— Reply to this email directly, view it on GitHubhttps://github.com/EDCD/EDDI/issues/2431#issuecomment-1344456407, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AB2C2ZSILNPGLGJBHH5S2ITWMNHB5ANCNFSM6AAAAAASWFFG2A. You are receiving this because you commented.Message ID: @.***>

This very well may be unrelated. Please open a new ticket. Please specifically indicate which data is not being sent and how you know it is not being sent, and please attach copies of your eddi.log files (found in %appdata%/EDDI) for review.

Cythrawl commented 1 year ago

Sorry for the delay I have been inundated at work and havent had time to post the last log..

This is from the 7th when I last played.:

eddi.zip

Tkael commented 1 year ago

Sorry for the delay I have been inundated at work and havent had time to post the last log..

This is from the 7th when I last played.:

eddi.zip

Thank you for the log. The only events logged in the file you provided were from EDDI reading back the event history from before EDDI was launched, and unfortunately the file does not capture the issue you described. No exceptions were logged, there is nothing in here describing any error with the jump script and there is nothing here capturing any Object reference not set to an instance of an object exception.

Cythrawl commented 1 year ago

Just did a fresh play session and a fresh log so no confusions eddi.log

Also a video capture of the issue as well in action and the desktop of the script (which is default and not changed)

https://www.youtube.com/watch?v=RteWiGbJMfQ

DaggaRoosta commented 1 year ago

fwiw I'm having the same issue. Currently in an unpopulated system so I can't test most of the script, but both of these lines seem to be producing the object reference error, the first for the jump script, the second for the fuel check script: {set next_system to RouteDetails("update")} {F('Fuel check')} In the fuel check script, it seems to be issuing the error when it hits line 34: {set nearest_scoopable_system to RouteDetails('scoop')}

Tkael commented 1 year ago

Thank you for the feedback. I've added some speculative changes which might address this issue but I could use a little more information still.

DaggaRoosta commented 1 year ago

For me, the issue has been very consistent - every session, every jump. Turning off the RouteDetails script and commenting out the references to it in the Jump and Fuel Check scripts does appear to fix the issue. I'll see if I can produce a log in my next session.

Sharparam commented 1 year ago

@Tkael Sorry for not getting back in the other issue (#2426), I've run a few jumps and an undock with verbose logging now, attaching the log file zip.

eddi_issue.zip

As well as the navigationmonitor.json with the usual .txt "hack" for GitHub to accept it.

navigationmonitor.json.txt

And the speechresponder.out file:

speechresponder.out.txt

These files were collected while running version 4.0.2-b2 of EDDI.

Cythrawl commented 1 year ago

@Tkael I too have enclosed my logs and the files requested (in zip format) Verbose logging and the .json files.

It does it on every play session. Doesnt matter if the destinations are populated or non populated. The logs are around 10/11 jumps just outside of the bubble to Alioth after getting the permit after selling the data.

EDDI.zip logged using version 4.0.2-b2 of EDDI.

Last error is undocking from the engineers' base

Sk93 commented 1 year ago

Can confirm the exact same issue happening for myself. Totally fresh install, with only INARA api key and FDEV account link. No other settings adjusted

Happens every single session, in open, private group or solo, on every jump

Log attached if its helpful eddi_issue.zip

Also happens every time I click the "test" button for the "Jumped" entry on the Speech Responder tab

Tkael commented 1 year ago

Unfortunately I have not yet been able to replicate this (even after carefully studying the verbose logs last night).

I've added some null checks, made some speculative changes, and tuned up the exception logging a bit. I may need to release a new version and see if this continues after that release.

Sk93 commented 1 year ago

Unfortunately I have not yet been able to replicate this (even after carefully studying the verbose logs last night).

I've added some null checks, made some speculative changes, and tuned up the exception logging a bit. I may need to release a new version and see if this continues after that release.

Here you go:

image

image

I suspect its because you have a fleet carrier and I do not :D

created pull request https://github.com/EDCD/EDDI/pull/2439 that adds the null check on this line, which fixes the issue in my instance. From what I understand of the function (albeit, only 20 mins of reading!) this should be a-ok?

Cythrawl commented 1 year ago

That would make sense as I do not have a fleet carrier either . :)

DaggaRoosta commented 1 year ago

That would make sense as I do not have a fleet carrier either . :)

Ditto

Tkael commented 1 year ago

Unfortunately I have not yet been able to replicate this (even after carefully studying the verbose logs last night).

I've added some null checks, made some speculative changes, and tuned up the exception logging a bit. I may need to release a new version and see if this continues after that release.

Here you go:

image

image

I suspect its because you have a fleet carrier and I do not :D

created pull request https://github.com/EDCD/EDDI/pull/2439 that adds the null check on this line, which fixes the issue in my instance. From what I understand of the function (albeit, only 20 mins of reading!) this should be a-ok?

Thank you, this makes it perfectly clear. I think that is one area where I did add a null check on my private branch (not yet pushed), but in any case I'll gladly take the PR.