[GH-ISSUE #38] Recurring Jobs error #15

Closed
opened 2026-02-26 17:36:52 +03:00 by kerem · 7 comments
Owner

Originally created by @maxilee on GitHub (Jun 15, 2023).
Original GitHub issue: https://github.com/Corsinvest/cv4pve-admin/issues/38

Originally assigned to: @franklupo on GitHub.

Bug type

Component

Component name

Recurring Jobs

What happened?

Hi.
I've installed latest version in docker , configured access to my pve cluster.
added few Recurring Jobs but somethink fails.
logs from recurring job attached below.

RecurringJobId | "Corsinvest.ProxmoxVE.Admin.Diagnostic.Job-pve-cluster"

how can diagnose this ?

Expected behavior

recurring job works as it should.

Relevant log output

2023-06-15 16:02:33.691 +02:00 [INF] Starting to perform job 3   <s:Corsinvest.AppHero.HangFire.LogJobFilter>                                                                                 
2023-06-15 16:02:33.700 +02:00 [INF] * Start Execute diagnostic cluster 'pve-cluster'   <s:Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper>                                                      
2023-06-15 16:02:33.700 +02:00 [INF] * Start Collect data from cluster   <s:Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper>                                                                     
2023-06-15 16:02:37.776 +02:00 [INF] * End Collect data from cluster Execution 00:00:04.0761700   <s:Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper>                                            
2023-06-15 16:02:37.776 +02:00 [INF] * End Execute diagnostic cluster 'pve-cluster' Execution 00:00:04.0763198   <s:Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper>                  
2023-06-15 16:02:37.777 +02:00 [INF] Job 3 has been performed   <s:Corsinvest.AppHero.HangFire.LogJobFilter>                                                                                  
2023-06-15 16:02:37.791 +02:00 [WRN] Job '3' has been failed due to an exception Newtonsoft.Json.JsonReaderException: Input string '1.04' is not a valid integer. Path '[0].dedup', line 1, po
sition 14.                                                                                                                                                                                    
   at Newtonsoft.Json.JsonTextReader.ParseReadNumber(ReadType readType, Char firstChar, Int32 initialPosition)                                  
   at Newtonsoft.Json.JsonTextReader.ReadNumberValue(ReadType readType)                                                                                                                       
   at Newtonsoft.Json.JsonTextReader.ReadAsInt32()                                                                                                                                            
   at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)                                                                                                     
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)             
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)                                                                                                                                  
   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.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
   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.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)                                                                                 
   at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)                                                                                         
   at Corsinvest.ProxmoxVE.Api.ResultExtension.ToModel[T](Result result)                                                                                                                      
   at Corsinvest.ProxmoxVE.Api.Extension.ModelsExtensionsAutoGen.Get(PveZfs item)                                                                                                             
   at Corsinvest.ProxmoxVE.Api.Extension.Utils.InfoHelper.ReadNodes(PveClient client, Boolean removeSecurity, Int32 tasksDay, Boolean tasksOnlyErrors, Boolean nodeReport)                    
   at Corsinvest.ProxmoxVE.Api.Extension.Utils.InfoHelper.Collect(PveClient client, Boolean removeSecurity, Int32 tasksDay, Boolean tasksOnlyErrors, Boolean nodeReport)                      
   at Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper.Create(IServiceScope scope, String clusterName) in /src/src/Corsinvest.ProxmoxVE.Admin.Diagnostic/Helper.cs:line 128                       
   at Corsinvest.ProxmoxVE.Admin.Diagnostic.Job.Create(String clusterName) in /src/src/Corsinvest.ProxmoxVE.Admin.Diagnostic/Job.cs:line 17                                                   
   at InvokeStub_TaskAwaiter.GetResult(Object, Object, IntPtr*)                                                                                                                               
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)   <s:Corsinvest.AppHero.HangFire.LogJobFilter>

Proxmox VE Version

7.4

Version (bug)

v1.0.0-rc.1

Version (working)

No response

What browsers are you seeing the problem on?

Firefox

On what operating system are you experiencing the issue?

Linux

Pull Request

  • I would like to do a Pull Request

Code of Conduct

  • I agree to follow this project's Code of Conduct
Originally created by @maxilee on GitHub (Jun 15, 2023). Original GitHub issue: https://github.com/Corsinvest/cv4pve-admin/issues/38 Originally assigned to: @franklupo on GitHub. ### Bug type Component ### Component name Recurring Jobs ### What happened? Hi. I've installed latest version in docker , configured access to my pve cluster. added few Recurring Jobs but somethink fails. logs from recurring job attached below. RecurringJobId | "Corsinvest.ProxmoxVE.Admin.Diagnostic.Job-pve-cluster" how can diagnose this ? ### Expected behavior recurring job works as it should. ### Relevant log output ```shell 2023-06-15 16:02:33.691 +02:00 [INF] Starting to perform job 3 <s:Corsinvest.AppHero.HangFire.LogJobFilter> 2023-06-15 16:02:33.700 +02:00 [INF] * Start Execute diagnostic cluster 'pve-cluster' <s:Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper> 2023-06-15 16:02:33.700 +02:00 [INF] * Start Collect data from cluster <s:Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper> 2023-06-15 16:02:37.776 +02:00 [INF] * End Collect data from cluster Execution 00:00:04.0761700 <s:Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper> 2023-06-15 16:02:37.776 +02:00 [INF] * End Execute diagnostic cluster 'pve-cluster' Execution 00:00:04.0763198 <s:Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper> 2023-06-15 16:02:37.777 +02:00 [INF] Job 3 has been performed <s:Corsinvest.AppHero.HangFire.LogJobFilter> 2023-06-15 16:02:37.791 +02:00 [WRN] Job '3' has been failed due to an exception Newtonsoft.Json.JsonReaderException: Input string '1.04' is not a valid integer. Path '[0].dedup', line 1, po sition 14. at Newtonsoft.Json.JsonTextReader.ParseReadNumber(ReadType readType, Char firstChar, Int32 initialPosition) at Newtonsoft.Json.JsonTextReader.ReadNumberValue(ReadType readType) at Newtonsoft.Json.JsonTextReader.ReadAsInt32() at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) 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.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id) 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.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings) at Corsinvest.ProxmoxVE.Api.ResultExtension.ToModel[T](Result result) at Corsinvest.ProxmoxVE.Api.Extension.ModelsExtensionsAutoGen.Get(PveZfs item) at Corsinvest.ProxmoxVE.Api.Extension.Utils.InfoHelper.ReadNodes(PveClient client, Boolean removeSecurity, Int32 tasksDay, Boolean tasksOnlyErrors, Boolean nodeReport) at Corsinvest.ProxmoxVE.Api.Extension.Utils.InfoHelper.Collect(PveClient client, Boolean removeSecurity, Int32 tasksDay, Boolean tasksOnlyErrors, Boolean nodeReport) at Corsinvest.ProxmoxVE.Admin.Diagnostic.Helper.Create(IServiceScope scope, String clusterName) in /src/src/Corsinvest.ProxmoxVE.Admin.Diagnostic/Helper.cs:line 128 at Corsinvest.ProxmoxVE.Admin.Diagnostic.Job.Create(String clusterName) in /src/src/Corsinvest.ProxmoxVE.Admin.Diagnostic/Job.cs:line 17 at InvokeStub_TaskAwaiter.GetResult(Object, Object, IntPtr*) at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr) <s:Corsinvest.AppHero.HangFire.LogJobFilter> ``` ### Proxmox VE Version 7.4 ### Version (bug) v1.0.0-rc.1 ### Version (working) _No response_ ### What browsers are you seeing the problem on? Firefox ### On what operating system are you experiencing the issue? Linux ### Pull Request - [ ] I would like to do a Pull Request ### Code of Conduct - [X] I agree to follow this project's Code of Conduct
kerem 2026-02-26 17:36:52 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@franklupo commented on GitHub (Jun 15, 2023):

Hi,
you can specify proxmox version or use command pveversion -v?

Best reagrds

<!-- gh-comment-id:1593271864 --> @franklupo commented on GitHub (Jun 15, 2023): Hi, you can specify proxmox version or use command **pveversion -v**? Best reagrds
Author
Owner

@maxilee commented on GitHub (Jun 15, 2023):

Hi.
latest one :

proxmox-ve: 7.4-1 (running kernel: 5.15.107-2-pve)
pve-manager: 7.4-4 (running version: 7.4-4/4a8501a8)
pve-kernel-5.15: 7.4-3
pve-kernel-5.13: 7.1-9
pve-kernel-5.11: 7.0-10
pve-kernel-5.4: 6.4-6
pve-kernel-5.15.107-2-pve: 5.15.107-2
pve-kernel-5.15.85-1-pve: 5.15.85-1
pve-kernel-5.13.19-6-pve: 5.13.19-15
pve-kernel-5.13.19-2-pve: 5.13.19-4
pve-kernel-5.11.22-7-pve: 5.11.22-12
pve-kernel-5.4.140-1-pve: 5.4.140-1
pve-kernel-5.4.34-1-pve: 5.4.34-2
ceph-fuse: 15.2.17-pve1
corosync: 3.1.7-pve1
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown: 0.8.36+pve2
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.24-pve2
libproxmox-acme-perl: 1.4.4
libproxmox-backup-qemu0: 1.3.1-1
libproxmox-rs-perl: 0.2.1
libpve-access-control: 7.4-3
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.4-1
libpve-guest-common-perl: 4.2-4
libpve-http-server-perl: 4.2-3
libpve-rs-perl: 0.7.6
libpve-storage-perl: 7.4-3
libqb0: 1.0.5-1
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 5.0.2-2
lxcfs: 5.0.3-pve1
novnc-pve: 1.4.0-1
openvswitch-switch: 2.15.0+ds1-2+deb11u4
proxmox-backup-client: 2.4.2-1
proxmox-backup-file-restore: 2.4.2-1
proxmox-kernel-helper: 7.4-1
proxmox-mail-forward: 0.1.1-1
proxmox-mini-journalreader: 1.3-1
proxmox-offline-mirror-helper: 0.5.1-1
proxmox-widget-toolkit: 3.7.0
pve-cluster: 7.3-3
pve-container: 4.4-4
pve-docs: 7.4-2
pve-edk2-firmware: 3.20230228-2
pve-firewall: 4.3-2
pve-firmware: 3.6-5
pve-ha-manager: 3.6.1
pve-i18n: 2.12-1
pve-qemu-kvm: 7.2.0-8
pve-xtermjs: 4.16.0-2
qemu-server: 7.4-3
smartmontools: 7.2-pve3
spiceterm: 3.2-2
swtpm: 0.8.0~bpo11+3
vncterm: 1.7-1
zfsutils-linux: 2.1.11-pve1

<!-- gh-comment-id:1593322744 --> @maxilee commented on GitHub (Jun 15, 2023): Hi. latest one : proxmox-ve: 7.4-1 (running kernel: 5.15.107-2-pve) pve-manager: 7.4-4 (running version: 7.4-4/4a8501a8) pve-kernel-5.15: 7.4-3 pve-kernel-5.13: 7.1-9 pve-kernel-5.11: 7.0-10 pve-kernel-5.4: 6.4-6 pve-kernel-5.15.107-2-pve: 5.15.107-2 pve-kernel-5.15.85-1-pve: 5.15.85-1 pve-kernel-5.13.19-6-pve: 5.13.19-15 pve-kernel-5.13.19-2-pve: 5.13.19-4 pve-kernel-5.11.22-7-pve: 5.11.22-12 pve-kernel-5.4.140-1-pve: 5.4.140-1 pve-kernel-5.4.34-1-pve: 5.4.34-2 ceph-fuse: 15.2.17-pve1 corosync: 3.1.7-pve1 criu: 3.15-1+pve-1 glusterfs-client: 9.2-1 ifupdown: 0.8.36+pve2 ksm-control-daemon: 1.4-1 libjs-extjs: 7.0.0-1 libknet1: 1.24-pve2 libproxmox-acme-perl: 1.4.4 libproxmox-backup-qemu0: 1.3.1-1 libproxmox-rs-perl: 0.2.1 libpve-access-control: 7.4-3 libpve-apiclient-perl: 3.2-1 libpve-common-perl: 7.4-1 libpve-guest-common-perl: 4.2-4 libpve-http-server-perl: 4.2-3 libpve-rs-perl: 0.7.6 libpve-storage-perl: 7.4-3 libqb0: 1.0.5-1 libspice-server1: 0.14.3-2.1 lvm2: 2.03.11-2.1 lxc-pve: 5.0.2-2 lxcfs: 5.0.3-pve1 novnc-pve: 1.4.0-1 openvswitch-switch: 2.15.0+ds1-2+deb11u4 proxmox-backup-client: 2.4.2-1 proxmox-backup-file-restore: 2.4.2-1 proxmox-kernel-helper: 7.4-1 proxmox-mail-forward: 0.1.1-1 proxmox-mini-journalreader: 1.3-1 proxmox-offline-mirror-helper: 0.5.1-1 proxmox-widget-toolkit: 3.7.0 pve-cluster: 7.3-3 pve-container: 4.4-4 pve-docs: 7.4-2 pve-edk2-firmware: 3.20230228-2 pve-firewall: 4.3-2 pve-firmware: 3.6-5 pve-ha-manager: 3.6.1 pve-i18n: 2.12-1 pve-qemu-kvm: 7.2.0-8 pve-xtermjs: 4.16.0-2 qemu-server: 7.4-3 smartmontools: 7.2-pve3 spiceterm: 3.2-2 swtpm: 0.8.0~bpo11+3 vncterm: 1.7-1 zfsutils-linux: 2.1.11-pve1
Author
Owner

@franklupo commented on GitHub (Jun 15, 2023):

Hi,
can esecute command and attach output?
pvesh get /nodes/<node name>/disks/zfs --output-format json-pretty

best reagrds

<!-- gh-comment-id:1593387268 --> @franklupo commented on GitHub (Jun 15, 2023): Hi, can esecute command and attach output? ` pvesh get /nodes/<node name>/disks/zfs --output-format json-pretty ` best reagrds
Author
Owner

@franklupo commented on GitHub (Jun 15, 2023):

Remember permission user 'read all'

<!-- gh-comment-id:1593389320 --> @franklupo commented on GitHub (Jun 15, 2023): Remember permission user 'read all'
Author
Owner

@maxilee commented on GitHub (Jun 16, 2023):

I've got three nodes in cluster :

root@pve-1:~# pvesh get /nodes/pve-1/disks/zfs  --output-format json-pretty
[
   {
      "alloc" : 17659121664,
      "dedup" : 1.04,
      "frag" : 47,
      "free" : 50523484160,
      "health" : "ONLINE",
      "name" : "rpool",
      "size" : 68182605824
   },
   {
      "alloc" : 3358733287424,
      "dedup" : 1.31,
      "frag" : 7,
      "free" : 8426656972800,
      "health" : "ONLINE",
      "name" : "rtank",
      "size" : 11785390260224
   }
]
root@pve-1:~# pvesh get /nodes/pve-2/disks/zfs  --output-format json-pretty
[
   {
      "alloc" : 23886680064,
      "dedup" : 1.02,
      "frag" : 59,
      "free" : 44295925760,
      "health" : "ONLINE",
      "name" : "rpool",
      "size" : 68182605824
   },
   {
      "alloc" : 3355560869888,
      "dedup" : 1.64,
      "frag" : 8,
      "free" : 8429829390336,
      "health" : "ONLINE",
      "name" : "rtank",
      "size" : 11785390260224
   }
]
root@pve-1:~# pvesh get /nodes/pve-3/disks/zfs  --output-format json-pretty
[
   {
      "alloc" : 14952067072,
      "dedup" : 1.04,
      "frag" : 48,
      "free" : 53230538752,
      "health" : "ONLINE",
      "name" : "rpool",
      "size" : 68182605824
   },
   {
      "alloc" : 5375985582080,
      "dedup" : 1.35,
      "frag" : 9,
      "free" : 6409404678144,
      "health" : "ONLINE",
      "name" : "rtank",
      "size" : 11785390260224
   }
]

<!-- gh-comment-id:1594124493 --> @maxilee commented on GitHub (Jun 16, 2023): I've got three nodes in cluster : ``` root@pve-1:~# pvesh get /nodes/pve-1/disks/zfs --output-format json-pretty [ { "alloc" : 17659121664, "dedup" : 1.04, "frag" : 47, "free" : 50523484160, "health" : "ONLINE", "name" : "rpool", "size" : 68182605824 }, { "alloc" : 3358733287424, "dedup" : 1.31, "frag" : 7, "free" : 8426656972800, "health" : "ONLINE", "name" : "rtank", "size" : 11785390260224 } ] root@pve-1:~# pvesh get /nodes/pve-2/disks/zfs --output-format json-pretty [ { "alloc" : 23886680064, "dedup" : 1.02, "frag" : 59, "free" : 44295925760, "health" : "ONLINE", "name" : "rpool", "size" : 68182605824 }, { "alloc" : 3355560869888, "dedup" : 1.64, "frag" : 8, "free" : 8429829390336, "health" : "ONLINE", "name" : "rtank", "size" : 11785390260224 } ] root@pve-1:~# pvesh get /nodes/pve-3/disks/zfs --output-format json-pretty [ { "alloc" : 14952067072, "dedup" : 1.04, "frag" : 48, "free" : 53230538752, "health" : "ONLINE", "name" : "rpool", "size" : 68182605824 }, { "alloc" : 5375985582080, "dedup" : 1.35, "frag" : 9, "free" : 6409404678144, "health" : "ONLINE", "name" : "rtank", "size" : 11785390260224 } ] ```
Author
Owner

@franklupo commented on GitHub (Jun 16, 2023):

Hi,
i found the problem, dedup is double not int.
In the next release it will be fixed

best regards

<!-- gh-comment-id:1594169204 --> @franklupo commented on GitHub (Jun 16, 2023): Hi, i found the problem, dedup is double not int. In the next release it will be fixed best regards
Author
Owner

@maxilee commented on GitHub (Jun 16, 2023):

ok. glad to hear that.
I'll wait for next release ...

<!-- gh-comment-id:1594184237 --> @maxilee commented on GitHub (Jun 16, 2023): ok. glad to hear that. I'll wait for next release ...
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cv4pve-admin#15
No description provided.