Event Report stops working

Oluwatobi3 years ago

Hi Anton and Entire Team
Great Job on this piece of software.

Please i have been having issues with just one section of the software for over a week now and i cant seem to find the root cause.

When i try to generate an event report for any of my unit, the entire software would begin to malfunction. until i refresh the page before i would be able to do anything again.

I have tried looking up the log file and could not find any error log.
I have tried generating event report for a different unit with a different protocol, but nothing still
I have tried generating event report for a single day or a short period of time. still yet nothing.
i have restarted the server severally, still yet nothing.
I have used a different browser.. still nothing.
I have tried both from admin and a user account... yet nothing...

Please is there something i am yet to try, or something i should read up on? just to identify the root cause and restore event reports for my client.

Anton Tananaev3 years ago

Have you checked browser console for errors?

Oluwatobi3 years ago

I just tried. Got a 404 Error and an error linked to app.mini. Kindly see both below

ext-all.js:22 GET http://*********:8082/api/reports/events?_dc=1625416155657&deviceId=299&type=allEvents&from=2021-07-03T23%3A00%3A00.000Z&to=2021-07-04T23%3A00%3A00.000Z&daily=false&page=1&start=0&limit=25 400 (Bad Request)


app.min.js:266 Uncaught TypeError: Cannot read property 'length' of null
    at g.loadRelatedPositions (app.min.js:266)
    at F.fire (ext-all.js:22)
    at F.dispatch (ext-all.js:22)
    at g.a.doFireEvent (ext-all.js:22)
    at g.fireEventArgs (ext-all.js:22)
    at g.fireEvent (ext-all.js:22)
    at g.onProxyLoad (ext-all.js:22)
    at F.triggerCallbacks (ext-all.js:22)
    at F.setCompleted (ext-all.js:22)
    at F.setException (ext-all.js:22)
Anton Tananaev3 years ago

It looks like you are missing positions related to the events.

Oluwatobi3 years ago

Okay... any tip on to fix it? where do i go?

Anton Tananaev3 years ago

Well, they either weren't stored for some reason, in which case you should probably see errors in the log. Or someone removed them.

Oluwatobi3 years ago

okay. this is tricky.

i can see every other kind of report. trip, route, summary, stops. the only report not working is just the event report that is creating such. and this issue started about 14days ago.

I just tried generating the event report for last month before the date I first recorded this issue. and its still all error.

I feel for some reasons, event alone is not storing. maybe event tables crashed from sql, or a settings has blocked event not to save in the database.

I will keep looking to find the root cause. If you by any chance come across a solution please do well to share with me. will be forever grateful.

Oluwatobi3 years ago

I just saw more

saw this under preview section in browser console.

"Unknown column 'serverTime' in 'where clause' - SQLSyntaxErrorException (... < QueryBuilder:390 < DataManager:353 < Events:50 < ...)"
Anton Tananaev3 years ago

Looks like you haven't upgraded Traccar correctly.

Ross D3 years ago

I ran into the same problem, my default.xml config file was out of date. The database.selectEvents query needed to be updated since the event time field was renamed in the database in v4.13.
SELECT * FROM tc_events WHERE deviceId = :deviceId AND eventTime BETWEEN :from AND :to ORDER BY eventTime

https://github.com/traccar/traccar/commit/e28ae518fddc930dcb26d70a4456ee1b28fb0ecc#diff-df0ad6e43880f09c90ebf95f19110178aba6890df0010ebda7485029e2b543b4

Anton Tananaev3 years ago

That's why at the top of default.xml we have this warning:

DO NOT MODIFY THIS FILE. Use traccar.xml instead.
Ross D3 years ago

Is modifying default.xml still the only way to cut down on the ports that traccar is listening to? I have mine configured to only listen to Teltonika devices by removing all the other ports.

https://www.traccar.org/forums/topic/limit-ports-traccar-is-listening-to/

Anton Tananaev3 years ago

That's the easiest way, but if you do modify it, you have to make sure you re-apply changes with every release.