perfsonar-user - Re: [perfsonar-user] perfsonar trouble with limits processor
Subject: perfSONAR User Q&A and Other Discussion
List archive
- From: Mark Feit <>
- To: Paul MEBALE-ASSAKO <>, "" <>
- Subject: Re: [perfsonar-user] perfsonar trouble with limits processor
- Date: Mon, 10 Mar 2025 18:10:49 +0000
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=internet2.edu; dmarc=pass action=none header.from=internet2.edu; dkim=pass header.d=internet2.edu; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tl3QiGvb5BtUoSRm01XOaD2S8jX3d1+KupRksGOEOts=; b=ldzotiHW1GtFq4nh3Jxdw2vFux7uW7+C/OWk+qd4wIFtMX6DO2x3wMbwqtEG3TexU8LfI7wMlBk9HvEpTrsBFdQwiA8JjSo9Y4d1zZJKr9UcJXPmKQJgDzvsez4mzkDu6cHCCNgtPItDzjrC+r8QTstc5FVpHJxCNM7TgtP8BycVtXONGneJ1oBB7liu9YfvpZEyES5KcYOqc0u30J7qf0ry6yXBDziUQdfohT6ll+KHIyc6orH5F8aVy/JPjYCAAuLiwfFQK3g53es9xNZ4fSkyC3qd5KJUURTNX3DxBiEX71HIuJpt4ZilCbFR9hoffzxrJpMyUSiavacXZ8GUUQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eW7qNI77EAHvwHwcM2YI7rjfQvW5w/9RnWUX/J6MLcHH0y9tWeqURd1Lxv6XLHtPXpIt8LrT9FPX5DgaQnmpBHsUrml0XDYKiUqw/0e62wlB9YXX5lBRGUCNJdWQjzsk2cHXU7wLhmQGjeRDEmKrxfieFUBTS+YUqR3b3DhhGs64OY1zNHuubgE0tbraECZnAloovoEFQ3B6fpxcppz83XSt1U1MqmSpyoAidHhN8M+UqEK44JJWWQlbel39Vq6sB/2EEDbVkEGvfZY2XGPZ+bvGqEaQyhisxjje3Dw4GTTPK0XMU/0Tb8osXTnW4jVNLF6edKprK/ZJaUd+wjPDVQ==
I wrote:
Paul MEBALE-ASSAKO writes:
Limit processor is not initialized: ‘ascii’ codec can't decode byte 0xc3 in position 11: ordinal not in range(128)
This is a bug in pScheduler. There’s some old code in the JSON parser that tries to decode byte streams as ASCII when it shouldn’t be so picky.
After further investigation as I went to implement the fix, it turns out that there is a bug in the production pScheduler code, but not quite what I thought it was.
The current RFC describing JSON (https://www.rfc-editor.org/rfc/rfc8259, released in 2017) requires that “JSON text exchanged between systems that are not part of a closed ecosystem must be encoded using UTF-8.” ECMA 404 does not call this out explicitly but does say that it and RFC 8259 are intended to be identical. Since perfSONAR is not a closed ecosystem and there’s an established standard, pScheduler in 5.2 will abide by it and decode as UTF-8.
However, the byte in the file that caused the problem, 0xc3, will still cause it to be rejected. The existing code (incorrectly) attempts to decode the byte stream as ASCII, so that byte isn’t valid. (It is valid ISO 8859-1, but that’s not in the picture here.) UTF-8 maps the first 128 codepoints to 7-bit ASCII, but anything in the 0x80-0xff range is called a continuation byte, which indicates that there is at least one additional byte to follow. The byte 0xc3 has bits set indicating that there is one more byte to follow that must have bits 10xxxxxx to be valid UTF-8. The moral here is that the upper half of ISO 8859-1 character set shouldn’t be used in JSON.
Paul, if you’d be so kind as to send me the limit configuration you’re using off-list, I’ll use it as a test case.
--Mark
|
- [perfsonar-user] perfsonar trouble with limits processor, Paul MEBALE-ASSAKO, 03/06/2025
- Re: [perfsonar-user] perfsonar trouble with limits processor, Mark Feit, 03/06/2025
- Re: [perfsonar-user] perfsonar trouble with limits processor, Mark Feit, 03/10/2025
- Re: [perfsonar-user] perfsonar trouble with limits processor, Paul MEBALE-ASSAKO, 03/12/2025
- Re: [perfsonar-user] perfsonar trouble with limits processor, Mark Feit, 03/10/2025
- Re: [perfsonar-user] perfsonar trouble with limits processor, Mark Feit, 03/06/2025
Archive powered by MHonArc 2.6.24.