【问题标题】:OSError: [Errno 22] Invalid argument during loggingOSError:[Errno 22] 记录期间参数无效
【发布时间】:2021-11-01 09:20:37
【问题描述】:

在捕获异常期间,我尝试使用日志记录模块记录回溯。日志记录模块正在记录到磁盘。在记录期间,我得到另一个记录异常。我不知道回溯中的什么导致日志记录失败。

记录sn-p

            self.logger.debug(
                traceback.format_exc(),
                job_name=self.job_name,
                address=self.short_wallet_address
            )

崩溃堆栈

--- Logging error ---
Traceback (most recent call last):
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\SwapShop\modules\NonceManager.py", line 94, in run
    self.sc.w3.eth.getTransactionCount(
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\lib\site-packages\web3\module.py", line 57, in caller
    result = w3.manager.request_blocking(method_str,
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\lib\site-packages\web3\manager.py", line 187, in request_blocking
    return self.formatted_response(response,
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\lib\site-packages\web3\manager.py", line 168, in formatted_response
    raise ValueError(response["error"])
ValueError: {'code': -32603, 'message': 'RPCError'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files\Python39\lib\logging\__init__.py", line 1087, in emit
    self.flush()
  File "C:\Program Files\Python39\lib\logging\__init__.py", line 1067, in flush
    self.stream.flush()
OSError: [Errno 22] Invalid argument
Call stack:
  File "<string>", line 1, in <module>
  File "C:\Program Files\Python39\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "C:\Program Files\Python39\lib\multiprocessing\spawn.py", line 129, in _main
    return self._bootstrap(parent_sentinel)
  File "C:\Program Files\Python39\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\SwapShop\modules\NonceManager.py", line 106, in run
    self.logger.debug(
Message: '[\x1b[37m\x1b[1mNonceManager_poly - 0xF21...EEF1\x1b[0m]: Traceback (most recent call last):\n  File "C:\\Users\\xxx\\OneDrive\\Desktop\\crypto\\SwapShop\\SwapShop\\modules\\NonceManager.py", line 94, in run\n    self.sc.w3.eth.getTransactionCount(\n  File "C:\\Users\\xxx\\OneDrive\\Desktop\\crypto\\SwapShop\\lib\\site-packages\\web3\\module.py", line 57, in caller\n    result = w3.manager.request_blocking(method_str,\n  File "C:\\Users\\xxx\\OneDrive\\Desktop\\crypto\\SwapShop\\lib\\site-packages\\web3\\manager.py", line 187, in request_blocking\n    return self.formatted_response(response,\n  File "C:\\Users\\xxx\\OneDrive\\Desktop\\crypto\\SwapShop\\lib\\site-packages\\web3\\manager.py", line 168, in formatted_response\n    raise ValueError(response["error"])\nValueError: {\'code\': -32603, \'message\': \'RPCError\'}\n'
Arguments: ()
2021-09-02 12:57:17 [NonceManager_poly - 0xF21...EEF1]: A non-recoverable error occurred.  Check logs for details.
Process p4_poly_mainnet_waultswap_WMATIC-WEXPOLY_0xF21...EEF1:
Traceback (most recent call last):
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\SwapShop\modules\StakingProcess.py", line 435, in claim_by_amount
    self.pending_reward = self.sc.get_pending_reward_amount(
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\SwapShop\modules\SwapClient.py", line 1341, in get_pending_reward_amount
    pending_reward = self.master_contract.functions.pendingWex(
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\lib\site-packages\web3\contract.py", line 957, in call
    return call_contract_function(
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\lib\site-packages\web3\contract.py", line 1501, in call_contract_function
    return_data = web3.eth.call(
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\lib\site-packages\web3\module.py", line 57, in caller
    result = w3.manager.request_blocking(method_str,
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\lib\site-packages\web3\manager.py", line 187, in request_blocking
    return self.formatted_response(response,
  File "C:\Users\xxx\OneDrive\Desktop\crypto\SwapShop\lib\site-packages\web3\manager.py", line 168, in formatted_response
    raise ValueError(response["error"])
ValueError: {'code': -32603, 'message': 'RPCError'}

【问题讨论】:

    标签: python exception logging


    【解决方案1】:

    您确定您的日志文件路径正确吗?搜索“file flush errno 22”会导致 this question 这似乎表明不正确的路径会导致此问题,并且您特别提到您正在将日志写入文件。

    【讨论】:

    • 我不认为路径是问题所在。我在日志文件中有很多其他使用相同记录器对象的日志记录条目。
    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 2019-04-27
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 2021-02-10
    相关资源
    最近更新 更多