spiceinit web=true returns confusing server error instead of PVL error details when kernels unavailable
- Dominant language
- C++
- Stars
- 245
- Forks
- 181
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 15
Description
## 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.
Contributor guide
Assessment
This issue has not been assessed yet.