#73 parse error for garmin forerunner 910xt fit file

closed
jede28
5
2012-10-24
2012-10-20
Eike
No

Hi Stefan,

I tried to import or view a garmin fit file created by my forerunner 910xt which did not work. Please let me know if you need more information, I'd be happy to provide fit files for different sport types (bike, run, swim) as well as brick workouts (bike-run, swim-bike-run).

Thanks for your great work,

Eike

On import, I got the following console output:

Exception in thread "AWT-EventQueue-0" java.lang.Error: java.lang.reflect.InvocationTargetException
at org.jdesktop.application.ApplicationAction.actionFailed(ApplicationAction.java:846)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:649)
at org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:687)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)
at java.awt.EventQueue.access$200(EventQueue.java:100)
at java.awt.EventQueue$3.run(EventQueue.java:676)
at java.awt.EventQueue$3.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:690)
at java.awt.EventQueue$4.run(EventQueue.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
at java.awt.Dialog.show(Dialog.java:1072)
at java.awt.Component.show(Component.java:1651)
at java.awt.Component.setVisible(Component.java:1603)
at java.awt.Window.setVisible(Window.java:1013)
at java.awt.Dialog.setVisible(Dialog.java:1003)
at org.jdesktop.application.SingleFrameApplication.show(SingleFrameApplication.java:295)
at de.saring.sportstracker.gui.STContextImpl.showDialog(STContextImpl.java:58)
at de.saring.sportstracker.gui.STControllerImpl.editExercise(STControllerImpl.java:322)
at de.saring.sportstracker.gui.STControllerImpl.editEntry(STControllerImpl.java:304)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
at $Proxy11.editEntry(Unknown Source)
at de.saring.sportstracker.gui.views.calendarview.CalendarView.onCalendarClicked(CalendarView.java:429)
at de.saring.sportstracker.gui.views.calendarview.CalendarView.access$1(CalendarView.java:406)
at de.saring.sportstracker.gui.views.calendarview.CalendarView$1.mousePressed(CalendarView.java:124)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
at java.awt.Component.processMouseEvent(Component.java:6502)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4489)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)
at java.awt.EventQueue.access$200(EventQueue.java:100)
at java.awt.EventQueue$3.run(EventQueue.java:676)
at java.awt.EventQueue$3.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:690)
at java.awt.EventQueue$4.run(EventQueue.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:647)
... 88 more
Caused by: java.lang.NullPointerException
at de.saring.exerciseviewer.parser.impl.garminfit.FitMessageListener.readLapMessage(FitMessageListener.java:136)
at de.saring.exerciseviewer.parser.impl.garminfit.FitMessageListener.onMesg(FitMessageListener.java:52)
at com.garmin.fit.Decode.resume(Decode.java:191)
at com.garmin.fit.Decode.read(Decode.java:160)
at com.garmin.fit.Decode.read(Decode.java:155)
at de.saring.exerciseviewer.parser.impl.garminfit.GarminFitParser.readFitFile(GarminFitParser.java:55)
at de.saring.exerciseviewer.parser.impl.garminfit.GarminFitParser.parseExercise(GarminFitParser.java:43)
at de.saring.exerciseviewer.gui.EVDocument.openExerciseFile(EVDocument.java:36)
at de.saring.exerciseviewer.gui.EVMain.showExercise(EVMain.java:50)
at de.saring.sportstracker.gui.dialogs.ExerciseDialog.viewHRMFile(ExerciseDialog.java:423)
... 93 more

Discussion

  • jede28

    jede28 - 2012-10-21

    I need to take a look at it. Perhaps I need to update the Garmin SDK to the latest version.
    It would be great if you could attach the FIT example files to this bug. I know, you sent me them via mail. But it don't know if you are willing to make them public here...

     
  • jede28

    jede28 - 2012-10-21
    • labels: 721199 --> 721200
    • status: open --> open-accepted
     
  • jede28

    jede28 - 2012-10-22
    • labels: 721200 --> PolarViewer
     
  • jede28

    jede28 - 2012-10-22

    Changed from Bug to Feature Request, the Forerunner 910XT is not supported yet.
    There needs to be some special handling for 910XT exercises - I've already started and it looks good...

     
  • jede28

    jede28 - 2012-10-23
    • status: open-accepted --> open
     
  • jede28

    jede28 - 2012-10-23

    ST can parse now Garmin Forerunner 910XT files. The data looks OK (compared to the data showed in Garmin Connect) as long there are no sport type transitions in the exercise file. When there are transitions, then the timestamps and the avg speed are often completely strange. The reason is unknown, but I think the Forerunner 910XT is not fully supported by the official Garmin FIT Java library yet (there are many messages called "unknown").

     
  • jede28

    jede28 - 2012-10-23

    For some reasons I'm not able to upload the changes to the Mercurial repository at Sourceforge, maybe the server is down. I'll try it again tomorrow...

     
  • jede28

    jede28 - 2012-10-24

    The Mercurial repository is back again - I've pushed all the changes to the origin.
    So this request can be closed...

     
  • jede28

    jede28 - 2012-10-24
    • assigned_to: nobody --> jede28
    • status: open --> closed
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks