shadow1ng/fscan · error
oracle error
Error message
oracle error
What it means
Fallback in oracleSession.oracleError: the session has a non-zero retCode but no summary substructure was ever populated, so neither the server message text nor the ORA code is available; a generic 'oracle error' is returned.
Source
Thrown at plugins/services/oracle_raw.go:1807
return err
}
if _, err = s.getByte(); err != nil {
return err
}
if _, err = s.getByte(); err != nil {
return err
}
}
return nil
}
func (s *oracleSession) hasError() bool {
return s.summary != nil && s.summary.retCode != 0 && s.summary.retCode != 1403
}
func (s *oracleSession) oracleError() error {
if s.summary == nil {
return errors.New("oracle error")
}
msg := string(s.summary.errorMessage)
if msg == "" {
msg = fmt.Sprintf("ORA-%05d", s.summary.retCode)
}
return fmt.Errorf("%s", msg)
}
func oracleRefuseError(raw []byte) error {
if len(raw) < 12 {
return errors.New("oracle connection refused")
}
dataLen := int(binary.BigEndian.Uint16(raw[10:12]))
if len(raw) < 12+dataLen {
return errors.New("oracle connection refused")
}
msg := string(raw[12 : 12+dataLen])
code := oracleExtractCode(msg)View on GitHub (pinned to 95cc12e753)
Solutions
- Log the raw TNS packets to see why the summary was never set
- Verify the TNS protocol version negotiation succeeded before the failing call
- Treat as a protocol-desync: reconnect and retry the Oracle session
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at plugins/services/oracle_raw.go:1807 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of shadow1ng/fscan@95cc12e753 (2026-09-06).
Data as JSON: /api/errors/a1ce749b98261bbd.
Report an issue: GitHub.