Comments (7)
I too am getting various memory corruption issues - (with an Ambit 3 MultiSport)
@centic9 - As far as I can tell this is introduced the latest commit - sha:a6fdcec0814e59b038702493000dbcde0b296974
If I simply disable the recent memory management changes in pmem20.c
//log_entry->samples[*sample_count].u.unknown.data = malloc(sample_len);
//memcpy(log_entry->samples[*sample_count].u.unknown.data, buf + offset + 2, sample_len);
Then the problem goes away.
NB1 Sometimes it crashed in malloc() above, other times in processing a periodic sample.
NB2 For me it's always outputting "Found unknown periodic sample spec type (0x28): len: 17" - it's always len 17 for me; and this sample spec is only in running logs (not Cycling ones).
NB3 I haven't worked out what's wrong the memory changes.
Edit: mistyped the C++ comment symbol
from openambit.
Thanks for your answer! Commenting the lines was not enoght for me but moving to commit: 6c3c781cfdfdd8587f6ed2876f3db631e67bb132
work smoth!
from openambit.
Thanks for narrowing down the root-cause, I don't have an Ambit 3, so cannot fully test effect of changes on that part of the code. However it looks like to be a simple bug anyway, so I should be able to fix it.
from openambit.
Should hopefully be fixed again by 9e6663a
The reporting/handling of the unknown sample was actually completely incorrect, likely would happen on Suunto Ambit 2 or other devices as well.
Please try the latest and report here if you still see crashes for some reason.
from openambit.
I don't have an Ambit 3, so cannot fully test effect of changes on that part of the code
@centic9 , just thinking out loud here - separating watch log transfer from parsing would enable easier testing and debugging ( saving binary logs by devs & users, later loading those directly into parser without physical access to certain watch / firmware versions ).
Actually this is what both Movescount Android app and Moveslink2 are doing - they first dump the binary log of the activity into a file and then parse it. MC Android app also keeps copy of those binlogs, Moveslink2 tends to delete those after parsing, but it's easy to block this behavior. Meaning that it would allow testing libambit parser against binlogs created by Suunto tools and compare the results against Moveslink2 SML files or Movescount app JSON files.
Though both Movescount mobile app and Moveslink2 will reach their EOL soon, I have a reason to believe that at least Moveslink2 watch sync (local log transfer and generating SML-files) stays functional.
from openambit.
Good idea and would be very useful to make testing easier, however I likely lack the time to work on something like this, but I am naturally open to receive pull requests in that regard.
from openambit.
Work smoth for me!
Thank you! :)
from openambit.
Related Issues (20)
- strava_uploader.py HOT 6
- Maybe it depends on what you are using to sync your moves. My latest move (~8km walk) appears in MovesCount. HOT 1
- Not able to connect to movescount on fresh install HOT 9
- wrong read if memory is near limit HOT 10
- Some specs for the "custom JSON config file"? HOT 2
- Add a option to totally skip any try to communicate with movescount.
- Upload a GPX to a Suunto watch directly?
- Compilation issue on master: this_thread::sleep_for HOT 2
- suuntolink HOT 3
- No instructions for updating tools/stravauploader/config.py
- double free or corruption HOT 1
- Suuntolink working with Wine HOT 15
- Wireshark dissector usage HOT 1
- ambit_device_driver_ambit3: ambit_navigation_read / write HOT 8
- Sample files with USB HID report descriptor
- Add a license file to the project
- Convert GPX to JSON route HOT 3
- suunto apps support HOT 2
- suunto ambit 3 sport not updating firmware
- Installation problem Xubuntu 22.04 - problem with cmake
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openambit.