Support » Plugin: Trackserver » Unable ToDownload GPX

  • Resolved Jeremy

    (@jeremybeckett)


    Hi,

    I had a successful road trip across the US and used Trackme and Trackserver for the entire length of the drive and I’m in the process of converting the site into a static format so I can archive it.

    My final step is to save the map but I am having trouble exporting it. I have used the “Download to GPX” option in manage tracks but I get a “This site is experiencing technical difficulties” error.

    Can you provide assistance please? Many thanks.

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Author tinuzz

    (@tinuzz)

    The error message would indicate a runtime problem with Trackserver’s code, like a typo in a function name or something. I cannot reproduce it with my code.

    Which version are you running? It it the published version from the plugin directory, 4.2.2?

    In this case, please take a look a your PHP error log, it should contain the actual reason why the request is failing. There should be an error message of some kind.

    Best regards,
    Martijn.

    Plugin Author tinuzz

    (@tinuzz)

    Ah, it seems it is reproducible after all. If I select 100 tracks and click ‘Download as GPX’, I get the same error. In my case, it’s a memory limit error (“PHP Fatal error: Allowed memory size of 134217728 bytes exhausted”).

    How many tracks did you select? Does it work if you select less tracks?

    I’m not sure if it is possible to catch this type of error and handle it gracefully, though…

    Thread Starter Jeremy

    (@jeremybeckett)

    Thanks for getting back to me. Just one track was selected. Maybe it’s a really big track? I used it for an 8500 km journey across the USA.

    This is the error log:

    Deprecated: Function create_function() is deprecated in /var/www/vhosts/order66roadtrip.com/httpdocs/wp-content/plugins/f2-tag-cloud-widget/f2-tagcloud.php on line 357

    Notice: The called constructor method for WP_Widget in tags_Widget is deprecated since version 4.3.0! Use
    __construct()
    instead. in /var/www/vhosts/order66roadtrip.com/httpdocs/wp-includes/functions.php on line 4503

    Fatal error: Uncaught Exception: DateInterval::__construct(): Unknown or bad format (PT-25200S) in /var/www/vhosts/order66roadtrip.com/httpdocs/wp-content/plugins/trackserver/trackserver.php:3954 Stack trace: #0 /var/www/vhosts/order66roadtrip.com/httpdocs/wp-content/plugins/trackserver/trackserver.php(3954): DateInterval->__construct(‘PT-25200S’) #1 /var/www/vhosts/order66roadtrip.com/httpdocs/wp-content/plugins/trackserver/trackserver.php(3712): Trackserver->send_as_gpx(Array) #2 /var/www/vhosts/order66roadtrip.com/httpdocs/wp-content/plugins/trackserver/trackserver.php(3781): Trackserver->handle_gettrack_query() #3 /var/www/vhosts/order66roadtrip.com/httpdocs/wp-content/plugins/trackserver/trackserver.php(2150): Trackserver->handle_gettrack() #4 /var/www/vhosts/order66roadtrip.com/httpdocs/wp-includes/class-wp-hook.php(286): Trackserver->parse_request(Object(WP)) #5 /var/www/vhosts/order66roadtrip.com/httpdocs/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array) #6 /var/www/vhosts/order66roadtrip.com in /var/www/vhosts/order66roadtrip.com/httpdocs/wp-content/plugins/trackserver/trackserver.php on line 3954
    The site is experiencing technical difficulties.

    Plugin Author tinuzz

    (@tinuzz)

    Hi Jeremy,

    Thank you for the report. This is a bug in Trackserver!

    The conversion from local time to UTC, which is needed for GPX output, doesn’t handle negative offsets correctly, which means that if you’re in the western hemisphere (which I am not ;-)), you’ll run into this bug.

    I’ll prepare a fix ASAP, probably this evening and post it here.

    If you wan to go ahead and do it yourself:
    – the calculated value in line 3954 ((int) get_option( ‘gmt_offset’ ) * 3600) needs to be converted to its absolute value (wrap it in abs() )
    – if the original value was negative, the ‘sub()’ call on line 3956 should become an ‘add()’ call, so something like:

    if ((int) get_option( ‘gmt_offset’ ) > 0) {
    $occurred = $occurred->sub( $timezone_offset );
    else {
    $occurred = $occurred->add( $timezone_offset );
    }

    Well, this is ugly code so my final fix will look differenly, but this is the idea.

    I’ll post an update later.

    Plugin Author tinuzz

    (@tinuzz)

    Hi,

    I just released v4.2.3, with a fix for this bug. Can you upgrade the plugin and see if it works now? There are no other changes to the plugin than this fix.

    I have a major feature release coming up, but it’ll take a few more weeks to get ready.

    Best regards,
    Martijn.

    Thread Starter Jeremy

    (@jeremybeckett)

    Hi Martijn, the patch worked perfectly. I’ve still to import the gpx so hopefully the extracted file is in the right format.

    This plugin is amazing. It makes me want to travel more just so I can show off where I am 😀

    Plugin Author tinuzz

    (@tinuzz)

    If you check the file, pay specific attention to the timestamps. The software you use to display / analyze the GPX should display the same timestamps as the original track in Trackserver. Let me know if anything doesn’t check out.

    If you like Trackserver, please consider writing a review here:
    https://wordpress.org/plugins/trackserver/#reviews

    🙂

    Best regards,
    Martijn

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Unable ToDownload GPX’ is closed to new replies.