Bug #6748


rrd_fetch_json.php returns html when user is unauthorized (causes "Error: SyntaxError: Unexpected token <")

Added by Stephen Smith about 7 years ago. Updated about 4 years ago.

Jared Dillard
Target version:
Start date:
Due date:
% Done:


Estimated time:
Plus Target Version:
Affected Version:
Affected Plus Version:
Affected Architecture:


The rrd_fetch_json.php endpoint should always return json, as it normally is being requested by js or something that intends to parse it.

When the user's session expires (or if the user is unauthorized), this endpoint returns the html for the login page, causing the js that tries to parse it to error out.

To reproduce:
1. Go to status monitoring
2. Wait for the session to expire (or log out in a separate tab)
3. Press reload on the graph
4. ???
5. "Error: SyntaxError: Unexpected token <"

The endpoint should return some kind of json formatted error message, which the js can parse and either display an appropriate message or redirect the whole page to login.

Actions #1

Updated by Jim Thompson almost 7 years ago

  • Assignee set to Jared Dillard
  • Target version set to 2.4.0
Actions #2

Updated by Jared Dillard over 6 years ago

  • Status changed from New to Feedback

I added a better error message in the case that JSON doesn't get returned, but a hint for the user to check that they have an active session.

Actions #3

Updated by Jim Pingle over 6 years ago

  • Status changed from Feedback to Assigned

This works nicely for Status > Monitoring, a similar error happens on the traffic graph widget and Status > Traffic graphs comes back blank (no graph, no error, nothing in the display).

Feel free to close this if those should be in a separate ticket, but it's all very similar.

Actions #4

Updated by Kill Bill over 6 years ago

SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.uo (d3.min.js:3)
    at XMLHttpRequest.i (d3.min.js:1)

The user is perfectly authorized, keep getting this right after login on the dashboard.

Actions #5

Updated by Renato Botelho about 6 years ago

  • Target version changed from 2.4.0 to 2.4.1
Actions #6

Updated by Jim Pingle almost 6 years ago

  • Target version changed from 2.4.1 to 2.4.2
Actions #7

Updated by Jim Pingle almost 6 years ago

  • Status changed from Assigned to Resolved
  • Target version changed from 2.4.2 to 2.4.1

This has already been fixed on 2.4.1

Actions #8

Updated by Jim Pingle about 4 years ago

  • Project changed from pfSense to pfSense Packages
  • Category changed from 118 to Status_Monitoring

Also available in: Atom PDF