Replies: 2 comments 1 reply
-
When I try to upgrade to v4.3, I get the following error at the end of an apparently successful pull - don't know if this is related? permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.project%3Dp2g-webui%22%3Atrue%7D%7D": dial unix /var/run/docker.sock: connect: permission denied |
Beta Was this translation helpful? Give feedback.
1 reply
-
Thanks - that fixed it. Dunno how I missed that thread |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Running p2g 4.1 on a docker install on Synology NAS. It's been working great for quite awhile, but since this past weekend it stopped syncing with Garmin Connect. I've tried some rudimentary troubleshooting steps - restarting, poking through the logs and the error it is giving me is below. I've no idea how to begin fixing this - anyone with suggestions?
P2G Version: p2g_api 4.1.0
Operating System: Unix
OS Version: Unix 4.4.302.0
DotNet Runtime: 7.0.14
Docker Deployment: True
Config path: /app/configuration.local.json
2024-11-28 03:59:19.314 -06:00 [INF] Found 5 completed workouts.
2024-11-28 03:59:20.358 -06:00 [INF] Found 5 workouts remaining after filtering ExcludedWorkoutTypes.
2024-11-28 03:59:20.358 -06:00 [INF] Converting workouts...
2024-11-28 03:59:20.854 -06:00 [INF] Uploading workouts to Garmin...
2024-11-28 03:59:20.854 -06:00 [INF] Uploading to Garmin: /app/working/upload/d8012c5b99d9450792133386919f47af_45_min_Just_Ride_with_JUST_RIDE.fit
2024-11-28 03:59:21.139 -06:00 [ERR] Http Failed to deserialize response to target type: JSON
Flurl.Http.FlurlParsingException: Response could not be deserialized to JSON: POST https://connectapi.garmin.com/upload-service/upload/.fit
---> Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Garmin.Dto.UploadResponse' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract(JsonReader reader, Type objectType, JsonContract contract)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize[T](JsonReader reader)
at Flurl.Http.Configuration.NewtonsoftJsonSerializer.Deserialize[T](Stream stream)
at Flurl.Http.FlurlResponse.GetJsonAsyncT
--- End of inner exception stack trace ---
2024-11-28 03:59:21.140 -06:00 [INF] Response: "OK" - POST - "https://connectapi.garmin.com/upload-service/upload/.fit" - Date: Thu, 28 Nov 2024 09:59:21 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-cache
CF-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=T259sO98RbJulz1WMgn3DR40Bmu9wZijLd648eQpY%2BO3Sju8OAev7X1%2FnIhnPprnNr0MOUoEnsDLxcseySh1o1oj0q5IgtKT9hWeUrTkrdQnxxv8%2BMxTiqsK7MRUur2iebXB3uChnw%3D%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
Set-Cookie: _cfuvid=TDQxWfVakEoJTRyWT_ZdBkoDqh_K8w5vWj3r.ohjJ9k-1732787961129-0.0.1.1-604800000; path=/; domain=.connectapi.garmin.com; HttpOnly; Secure; SameSite=None
Server: cloudflare
CF-RAY: 8e998134dc1ca1dd-MSP
Alt-Svc: h3=":443"; ma=86400
2024-11-28 03:59:21.141 -06:00 [ERR] Failed to upload workouts to Garmin Connect. You can find the converted files at /app/output \n You can manually upload your files to Garmin Connect, or wait for P2G to try again on the next sync job.
Garmin.GarminUploadException: GUpload Exit Code: -1 - NativeImplV1 failed to upload workout /app/working/upload/d8012c5b99d9450792133386919f47af_45_min_Just_Ride_with_JUST_RIDE.fit, Response could not be deserialized to JSON: POST https://connectapi.garmin.com/upload-service/upload/.fit
---> Flurl.Http.FlurlParsingException: Response could not be deserialized to JSON: POST https://connectapi.garmin.com/upload-service/upload/.fit
---> Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Garmin.Dto.UploadResponse' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract(JsonReader reader, Type objectType, JsonContract contract)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize[T](JsonReader reader)
at Flurl.Http.Configuration.NewtonsoftJsonSerializer.Deserialize[T](Stream stream)
at Flurl.Http.FlurlResponse.GetJsonAsyncT
--- End of inner exception stack trace ---
at Flurl.Http.FlurlRequest.HandleExceptionAsync(FlurlCall call, Exception ex, CancellationToken token)
at Flurl.Http.FlurlResponse.GetJsonAsyncT
at Flurl.Http.ResponseExtensions.ReceiveJson[T](Task
1 response) at Garmin.ApiClient.UploadActivity(String filePath, String format, GarminApiAuthentication auth) in /build/src/Garmin/ApiClient.cs:line 161 at Garmin.GarminUploader.UploadAsync(String[] files, Settings settings) in /build/src/Garmin/GarminUploader.cs:line 99 --- End of inner exception stack trace --- at Garmin.GarminUploader.UploadAsync(String[] files, Settings settings) in /build/src/Garmin/GarminUploader.cs:line 99 at Garmin.GarminUploader.UploadToGarminAsync() in /build/src/Garmin/GarminUploader.cs:line 75 at Sync.SyncService.SyncAsync(IEnumerable
1 workoutIds, ICollection`1 exclude) in /build/src/Sync/SyncService.cs:line 2092024-11-28 03:59:21.155 -06:00 [INF] Sleeping for 43200 seconds...
Beta Was this translation helpful? Give feedback.
All reactions