Skip to content

spiceinit web=true returns confusing server error instead of PVL error details when kernels unavailable #5946

@michaelaye

Description

@michaelaye

Summary

When using spiceinit with web=true and requesting specific kernel types that are unavailable, the command returns a generic confusing server error instead of a detailed PVL error label explaining what went wrong.

Steps to Reproduce

  1. Run spiceinit requesting smithed SPK kernels while disallowing reconstructed:

    lronac2isis from=./M1470132779LE.IMG to=test.cub
    spiceinit from=test.cub spksmithed=true spkrecon=false web=true
    
  2. Observe the error message:

    **ERROR** An error occurred when talking to the server. The server encountered an unexpected error.
    

Expected Behavior

When requested kernels are unavailable, spiceinit should return a PVL label with detailed error information, similar to what happens in other kernel resolution failures:

Group = Kernels
  NaifFrameCode             = -85600
  LeapSecond                = $base/kernels/lsk/naif0012.tls
  TargetAttitudeShape       = ($base/kernels/pck/pck00009.tpc,
                               $lro/kernels/pck/moon_080317.tf,
                               $lro/kernels/pck/moon_assoc_me.tf)
  TargetPosition            = ($lro/kernels/tspk/moon_pa_de421_1900-2050.bpc,
                               $lro/kernels/tspk/de421.bsp)
  InstrumentPointing        = ($lro/kernels/ck/lrolc_2024121_2024153_v01.bc,
                               $lro/kernels/ck/moc42r_2024121_2024152_v01.bc,
                               $lro/kernels/fk/lro_frames_2014049_v01.tf)
  Instrument                = $lro/kernels/ik/lro_lroc_v18.ti
  SpacecraftClock           = $lro/kernels/sclk/lro_clkcor_2025099_v00.tsc
  InstrumentPosition        = Null
  InstrumentAddendum        = $lro/kernels/iak/lro_instrumentAddendum_v05.ti
  ShapeModel                = /pathtomodel/WAC_GLD100_V1.0_GLOBAL_with_L-
                              OLA_30M_POLE.16bit.lp.demprep.cub
  InstrumentPositionQuality = Unknown
  InstrumentPointingQuality = Reconstructed
  CameraVersion             = 2
  Error                     = "No instrument position available"
End_Group

This would clearly indicate that the requested smithed SPK kernels are not available for the given observation.

Actual Behavior

The generic server error provides no actionable information about what went wrong.

Workaround

Removing spkrecon=false allows the command to succeed by downgrading to reconstructed kernels:

spiceinit from=test.cub spksmithed=true web=true

However, this defeats the purpose when the user specifically needs smithed kernels and wants to know if they're unavailable.

Environment

  • ISIS Version: 8.2 and 9.0 (confirmed on both)
  • Operating System: macOS Tahoe 26.2

Additional Context

The root cause appears to be missing spksmithed kernels for the observation. The server-side error handling should catch this case and return informative PVL output rather than a generic server error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions