Error TooLongFrameException on GPS Tracker Protocol traccar 3.5 with opengts 2.6

SteveDusty9 years ago

Hi,

I'm trying to add this tracker but I getting this

2016-04-27 05:28:16 DEBUG: [73AC6EBE: 5093 < 186.96.84.25] HEX: 78780d0103554883399114000003921c0d0a
2016-04-27 05:28:22 DEBUG: [73AC6EBE: 5093 < 186.96.84.25] HEX: 78781f1210041b051c2fc60112dce00906b02e003c3f02c804a413001024000386fa0d0a
2016-04-27 05:28:23 DEBUG: [73AC6EBE: 5093 < 186.96.84.25] HEX: 78780d0103554883399114000004e6a30d0a
2016-04-27 05:28:32 DEBUG: [73AC6EBE: 5093 < 186.96.84.25] HEX: 78781f1210041b051c39c50112dce00906b02e003c3f02c804a4130010240004f12e0d0a
...
2016-04-27 05:42:19 DEBUG: [73AC6EBE: 5093 < 186.96.84.25] HEX: 78781f1210041b052a2cc70112dc120906b0cd003ce702c804a413001024005ad8900d0a
2016-04-27 05:42:29 DEBUG: [73AC6EBE: 5093 < 186.96.84.25] HEX: 78781f1210041b052a36c70112dc120906b0cd003ce702c804a413001024005b608e0d0a
2016-04-27 05:42:30 DEBUG: [73AC6EBE: 5093 < 186.96.84.25] HEX: 78780a13c000590001005c23570d0a
2016-04-27 05:42:37 DEBUG: [73AC6EBE: 5093 < 186.96.84.25] HEX: 78780d010355488339911400005d29e70d0a
2016-04-27 05:42:37  WARN: [73AC6EBE] error - frame length exceeds 1024: 2156 - discarded - TooLongFrameException (...)
Anton Tananaev9 years ago

The problem is that you are using incorrect port. The right one for your device is 5023.

SteveDusty9 years ago

Thanks for the quick reply, I changed it to Port 5023 and now im getting the following.

2016-04-27 07:08:20  INFO: [D0279AFA] connected
2016-04-27 07:08:20 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78780d0103554883399114000003921c0d0a
2016-04-27 07:08:21  WARN: An expression of non-boolean type specified in a context where a condition is expected, near 'REGEXP'. - SQLServerException (... < QueryBuilder:376 < DataManager:329 < *:139 < *:185 < BaseProtocolDecoder:47 < ...)
2016-04-27 07:08:26 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b070833c40112dbb00906b1de003cf502c804a4130010240003ca880d0a
2016-04-27 07:08:27 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78780d0103554883399114000004e6a30d0a
2016-04-27 07:08:27  WARN: An expression of non-boolean type specified in a context where a condition is expected, near 'REGEXP'. - SQLServerException (... < QueryBuilder:376 < DataManager:329 < *:139 < *:185 < BaseProtocolDecoder:47 < ...)
2016-04-27 07:08:36 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b070901c40112dbb00906b1de003cf502c804a413001024000492c90d0a
2016-04-27 07:08:56 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b07090bc40112dab20906b26c033cf502c804a413001024000542b20d0a
2016-04-27 07:08:57 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b070915c40112dab20906b26c073cf502c804a4130010240006f80c0d0a
2016-04-27 07:09:06 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b07091fc40112da520906b28f013ccd02c804a4130010240007e6be0d0a
2016-04-27 07:09:16 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b070929c40112da520906b28f013ccd02c804a41300102400085ef50d0a
2016-04-27 07:09:26 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b070933c40112da480906b255003ccc02c804a413001024000947190d0a
2016-04-27 07:09:36 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b070a01c40112da480906b255003ccc02c804a413001024000aeff40d0a
2016-04-27 07:09:46 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b070a0bc40112daa70906b1cb003c5902c804a413001024000ba4c60d0a
2016-04-27 07:09:56 DEBUG: [D0279AFA: 5023 < 186.96.84.40] HEX: 78781f1210041b070a15c40112daa70906b1cb003c5902c804a413001024000c4ee80d0a
Anton Tananaev9 years ago

Now you have a problem with some SQL query in the config.

SteveDusty9 years ago

Thanks for the response, currently this is why in the file. (See Below)

According to the integration document this should work.

<entry key='database.selectDevice'>
    SELECT imeiNumber AS id, imeiNumber AS uniqueId FROM MSDevice WHERE imeiNumber REGEXP '^[0-9]+$';
</entry>

<entry key='database.insertPosition'>
    START TRANSACTION;
        UPDATE Device SET lastValidLatitude = :latitude, lastValidLongitude = :longitude, lastGPSTimestamp = UNIX_TIMESTAMP(:time), lastUpdateTime = UNIX_TIMESTAMP(NOW()) WHERE imeiNumber = :device_id;
        SELECT @accountID := accountID, @deviceID := deviceID FROM Device WHERE imeiNumber = :device_id;
        INSERT INTO EventData (accountID, deviceID, timestamp, statusCode, latitude, longitude, speedKPH, heading, altitude, rawData, creationTime, address)
        VALUES (@accountID, @deviceID, UNIX_TIMESTAMP(:time), 0, :latitude, :longitude, :speed, :course, :altitude, '', UNIX_TIMESTAMP(NOW()), :address);
    COMMIT;
</entry>
Anton Tananaev9 years ago

What database are you using?

SteveDusty9 years ago

Microsoft SQL Server 2014

<!-- DATABASE CONFIG -->

<entry key='database.driverFile'>C:\Program Files\Traccar\lib\sqljdbc4.jar</entry>
<entry key='database.driver'>com.microsoft.sqlserver.jdbc.SQLServerDriver</entry>
<entry key='database.url'>jdbc:sqlserver://localhost;user=**********;password=*********;databaseName=gts;</entry>
<entry key='database.user'>*********</entry>
<entry key='database.password'>***********</entry>
Anton Tananaev9 years ago

The config is not going to work for MS SQL. Syntax for regular expression validation is different on MS SQL.

Try to replace "imeiNumber REGEXP '^[0-9]+$'" with "imeiNumber IS NOT NULL".

SteveDusty9 years ago

It cleared the previous one but now im getting a convert exception

2016-04-27 16:03:00  INFO: [B78A49C2] connected
2016-04-27 16:03:00 DEBUG: [B78A49C2: 5023 < 186.96.84.5] HEX: 78780d01035548833991140000183c4e0d0a
2016-04-27 16:03:01  WARN: An error occurred while converting the varchar value to JDBC data type BIGINT. - SQLServerException (... < QueryBuilder:313 < *:409 < DataManager:329 < *:139 < *:185 < BaseProtocolDecoder:47 < ...)
2016-04-27 16:03:06 DEBUG: [B78A49C2: 5023 < 186.96.84.5] HEX: 78781f12000000000000c0000000000000000000200002c804a415002f970018e8860d0a
2016-04-27 16:03:06 DEBUG: [B78A49C2: 5023 < 186.96.84.5] HEX: 78780d01035548833991140000192dc70d0a
2016-04-27 16:03:06  WARN: An error occurred while converting the varchar value to JDBC data type BIGINT. - SQLServerException (... < QueryBuilder:313 < *:409 < DataManager:329 < *:139 < *:185 < BaseProtocolDecoder:47 < ...)
2016-04-27 16:03:16 DEBUG: [B78A49C2: 5023 < 186.96.84.5] HEX: 78781f12000000000000c0000000000000000000200002c804a415002f970019f90f0d0a
Anton Tananaev9 years ago

I suspect that you have some non-numeric IMEI numbers in your database. That's why it fails.

SteveDusty9 years ago

Correct Thanks for the Help, I corrected that but now im getting

2016-04-27 17:33:02  INFO: [15EC2689] connected
2016-04-27 17:33:02 DEBUG: [15EC2689: 5023 < 186.96.91.252] HEX: 78780d0103554883399114000067b73e0d0a
2016-04-27 17:33:02 DEBUG: [15EC2689: 5023 > 186.96.91.252] HEX: 787805010067dfec0d0a
2016-04-27 17:33:02  INFO: Query not provided: database.updateDeviceStatus
2016-04-27 17:33:02  WARN: [15EC2689] error - NullPointerException (ConnectionManager:115 < BaseProtocolDecoder:104 < ExtendedObjectDecoder:60 < ...)
2016-04-27 17:33:02  INFO: [15EC2689] disconnected
Anton Tananaev9 years ago

Are you sure you are using latest version of Traccar?

SteveDusty9 years ago

Yes, Version 3.5 64 bits

Anton Tananaev9 years ago

Try to add "web.enable" parameter with value "true" to the config.

SteveDusty9 years ago

Just made the change, new error

2016-04-27 21:39:01  INFO: Starting server...
2016-04-27 21:39:04  INFO: [F47C58E2] connected
2016-04-27 21:39:04 DEBUG: [F47C58E2: 5023 < 186.96.84.51] HEX: 78780d01035548833991140000785f480d0a
2016-04-27 21:39:04 DEBUG: [F47C58E2: 5023 > 186.96.84.51] HEX: 787805010078379a0d0a
2016-04-27 21:39:04  INFO: Query not provided: database.updateDeviceStatus
2016-04-27 21:39:14 DEBUG: [F47C58E2: 5023 < 186.96.84.51] HEX: 78781f1210041c031f37c0000000000000000000200002c804a413001024007811310d0a
2016-04-27 21:39:14 DEBUG: [F47C58E2: 5023 > 186.96.84.51] HEX: 7878051200785d6b0d0a
2016-04-27 21:39:14  INFO: Query not provided: database.updateDeviceStatus
2016-04-27 21:39:14  WARN: The value is not set for the parameter number 3. - SQLServerException (... < QueryBuilder:431 < DataManager:440 < DefaultDataHandler:27 < ...)
2016-04-27 21:39:14  INFO: [F47C58E2] id: 355488339911400, time: 2016-04-27 21:31:55, lat: -0.00000, lon: 0.00000, speed: 0.0, course: 0.0
2016-04-27 21:39:24 DEBUG: [F47C58E2: 5023 < 186.96.84.51] HEX: 78781f1210041b152731c40112dc670906b226003c7602c804a41300102400797fdc0d0a
2016-04-27 21:39:24 DEBUG: [F47C58E2: 5023 > 186.96.84.51] HEX: 7878051200794ce20d0a
2016-04-27 21:39:24  INFO: Query not provided: database.updateDeviceStatus
2016-04-27 21:39:24  WARN: The value is not set for the parameter number 3. - SQLServerException (... < QueryBuilder:431 < DataManager:440 < DefaultDataHandler:27 < ...)
2016-04-27 21:39:24  INFO: [F47C58E2] id: 355488339911400, time: 2016-04-27 15:39:49, lat: 10.00738, lon: -84.12987, speed: 0.0, course: 118.0
2016-04-27 21:39:24 DEBUG: [F47C58E2: 5023 < 186.96.84.51] HEX: 78780a13c000640001007acfc60d0a
2016-04-27 21:39:24 DEBUG: [F47C58E2: 5023 > 186.96.84.51] HEX: 78780513007a24a50d0a
2016-04-27 21:39:24  INFO: Query not provided: database.updateDeviceStatus
2016-04-27 21:39:24  WARN: The value is not set for the parameter number 3. - SQLServerException (... < QueryBuilder:431 < DataManager:440 < DefaultDataHandler:27 < ...)
2016-04-27 21:39:24  INFO: [F47C58E2] id: 355488339911400, time: 2016-04-27 21:31:55, lat: -0.00000, lon: 0.00000, speed: 0.0, course: 0.0