text:
Binance Perp - Time Synchronizer not updated when receiving error from fetch last fee payment

Describe the bug
After running the bot for 2 days, I noticed that I was receiving an alert about rate limits and when I checked the logs I found that the bot was trying to get the last fee payment of all the pairs but the response of that request was:
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
After receiving this error, we should update the time synchronizer and try again but this was repeated a lot of times, consuming the rate limits.
Steps to reproduce

Run a strategy for a long time in binance perps with multiple trading pairs

Release version
dev-1.20
Type of installation
Source
Attach required files
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:24:56,946 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for ARKM-USDT. Check network connection.
2023-09-20 23:25:01,323 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for ARKM-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:01,324 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for ARKM-USDT. Check network connection.
2023-09-20 23:25:04,973 - 15 - hummingbot.core.api_throttler.async_request_context_base - INFO - API rate limit on REQUEST_WEIGHT (2400 calls per 60s) has almost reached. Limits used is 2385 in the last 60 seconds
2023-09-20 23:25:05,328 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for PERP-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:05,329 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for PERP-USDT. Check network connection.
2023-09-20 23:25:05,330 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for AMB-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:05,330 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for AMB-USDT. Check network connection.
2023-09-20 23:25:07,155 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for STX-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:07,156 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for STX-USDT. Check network connection.
2023-09-20 23:25:07,350 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for UNFI-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:07,351 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for UNFI-USDT. Check network connection.
2023-09-20 23:25:07,352 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for HOOK-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:07,352 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for HOOK-USDT. Check network connection.
2023-09-20 23:25:09,213 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for STX-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:09,213 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for STX-USDT. Check network connection.
2023-09-20 23:25:09,214 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for ARKM-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:09,215 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for ARKM-USDT. Check network connection.
2023-09-20 23:25:09,489 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for AMB-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:09,489 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for AMB-USDT. Check network connection.
2023-09-20 23:25:10,850 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for AMB-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:10,850 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for AMB-USDT. Check network connection.
2023-09-20 23:25:10,851 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for LIT-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:10,851 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for LIT-USDT. Check network connection.
2023-09-20 23:25:13,147 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for ARKM-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:13,147 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for ARKM-USDT. Check network connection.
2023-09-20 23:25:15,098 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for HBAR-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:15,099 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for HBAR-USDT. Check network connection.
2023-09-20 23:25:15,581 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for HBAR-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:15,582 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for HBAR-USDT. Check network connection.
2023-09-20 23:25:15,582 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for AMB-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:15,582 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for AMB-USDT. Check network connection.
2023-09-20 23:25:16,882 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for STX-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:16,882 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for STX-USDT. Check network connection.
2023-09-20 23:25:16,884 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for UNFI-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:16,885 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for UNFI-USDT. Check network connection.
2023-09-20 23:25:19,196 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for HOOK-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:19,197 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for HOOK-USDT. Check network connection.
2023-09-20 23:25:20,295 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for LIT-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:20,295 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for LIT-USDT. Check network connection.
2023-09-20 23:25:21,313 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for HBAR-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:21,314 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for HBAR-USDT. Check network connection.
2023-09-20 23:25:24,033 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for ARKM-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:24,033 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for ARKM-USDT. Check network connection.
2023-09-20 23:25:24,516 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for STX-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:24,516 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for STX-USDT. Check network connection.
2023-09-20 23:25:27,628 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for STX-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:27,628 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for STX-USDT. Check network connection.
2023-09-20 23:25:31,126 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for AMB-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:31,127 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for AMB-USDT. Check network connection.
2023-09-20 23:25:31,379 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for ARKM-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:31,380 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for ARKM-USDT. Check network connection.
2023-09-20 23:25:33,296 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for HOOK-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:33,296 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for HOOK-USDT. Check network connection.
2023-09-20 23:25:34,975 - 15 - hummingbot.core.api_throttler.async_request_context_base - INFO - API rate limit on REQUEST_WEIGHT (2400 calls per 60s) has almost reached. Limits used is 2387 in the last 60 seconds
2023-09-20 23:25:36,689 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for ARKM-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:36,690 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for ARKM-USDT. Check network connection.
2023-09-20 23:25:41,094 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - NETWORK - Unexpected error while fetching last fee payment for HOOK-USDT.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/perpetual_derivative_py_base.py", line 414, in _update_funding_payment
    timestamp, funding_rate, payment_amount = await self._fetch_last_fee_payment(trading_pair=trading_pair)
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 790, in _fetch_last_fee_payment
    payment_response = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 870, in _api_request
    raise last_exception
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 857, in _api_request
    raise IOError(f"Error executing request {method.name} {path_url}. "
OSError: Error executing request GET /income. HTTP status is 400. Error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
2023-09-20 23:25:41,094 - 15 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative.BinancePerpetualDerivative - WARNING - Could not fetch last fee payment for HOOK-USDT. Check network connection.
2023-09-20 23:26:04,976 - 15 - hummingbot.core.api_throttler.async_request_context_base - INFO - API rate limit on REQUEST_WEIGHT (2400 calls per 60s) has almost reached. Limits used is 2386 in the last 60 seconds
2023-09-20 23:26:34,977 - 15 - hummingbot.core.api_throttler.async_request_context_base - INFO - API rate limit on REQUEST_WEIGHT (2400 calls per 60s) has almost reached. Limits used is 2397 in the last 60 seconds
2023-09-20 23:27:04,978 - 15 - hummingbot.core.api_throttler.async_request_context_base - INFO - API rate limit on REQUEST_WEIGHT (2400 calls per 60s) has almost reached. Limits used is 2387 in the last 60 seconds
2023-09-20 23:27:34,979 - 15 - hummingbot.core.api_throttler.async_request_context_base - INFO - API rate limit on REQUEST_WEIGHT (2400 calls per 60s) has almost reached. Limits used is 2387 in the last 60 seconds
2023-09-20 23:28:04,989 - 15 - hummingbot.core.api_throttler.async_request_context_base - INFO - API rate limit on REQUEST_WEIGHT (2400 calls per 60s) has almost reached. Limits used is 2387 in the last 60 seconds

Severity: P2
Bounty: 50,000 HBOT
Rationale:

Related to the gold tier exchange connector issue
Time Synchronizer not updated when receiving error from fetch last fee payment
flooded with warning messages, bot fails to recover

https://github.com/hummingbot/hummingbot/pull/6584

Thanks for your participation, the bounty has been sent to cardosofede. The fix has been deployed on development branch and next hummingbot version 1.21.0.

Re-opened this issue for monitoring purposes

Closing this, payment has been sent.
Upon checking on longterm run, issue not reproduced

authors: cardosofede nikspz


text:
pip install hummingbot doest work on windows

Describe the bug
"pip install hummingbot" always fail on windows with this error
ValueError: 'hummingbot//*.pyx' doesn't match any files**
Seems that the issue is missing .pyx files in the package: https://github.com/jmschrei/pomegranate/issues/333#issuecomment-449151227
"pip install pip install git+https://github.com/hummingbot/hummingbot.git" works well
Steps to reproduce

Create a clean virtual environment
Activate it
run pip install hummingbot
face the error

Release version
NA
Type of installation
Source
Attach required files
No response

Reproduced on Windows using WSL
pipinstall.txt

same under ubuntu

source: gharchive/issue

authors: irriss nikspz

repo: hummingbot/hummingbot

license_type: permissive

license_source: github-api


text:
fix/time related error check for Mexc

Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:
The _is_request_exception_related_to_time_synchronizer was checking for the wrong error code. The method and test were both an exact copy of the Binance connector which makes me believe it was never implemented correctly for Mexc.
Tests performed by the developer:
The error response as can be seen in #7065  is {"code":700003,"msg":"Timestamp for this request is outside of the recvWindow."}
I've double checked this with the API Documentation
Tips for QA testing:

Merged to development and will be part of release version 2.0.1

source: gharchive/pull-request

authors: Jbekker rapcmia


text:
Checkpoint for testing missing

Dear authors,
Thank you for the open source. Can you please give a lead on where to find the file "checkpoints/t2i/seg/seg_ade20k.pt" needed for testing "Text-to-image generation on ADE20k"?
bash scripts/autoregressive/test_t2i.sh --vq-ckpt checkpoints/vq/vq_ds16_t2i.pt \
--gpt-ckpt checkpoints/t2i/seg/seg_ade20k.pt \
--code-path data/Captioned_ADE20K/val --gpt-model GPT-XL --image-size 512 \
--sample-dir sample/ade20k --condition-type seg --seed 0

Dear authors,
Thank you for the open source. Can you please give a lead on where to find the file "checkpoints/t2i/seg/seg_ade20k.pt" needed for testing "Text-to-image generation on ADE20k"?
bash scripts/autoregressive/test_t2i.sh --vq-ckpt checkpoints/vq/vq_ds16_t2i.pt \
--gpt-ckpt checkpoints/t2i/seg/seg_ade20k.pt \
--code-path data/Captioned_ADE20K/val --gpt-model GPT-XL --image-size 512 \
--sample-dir sample/ade20k --condition-type seg --seed 0

I'm sorry that due to the company's policy, we can't open source too many models. At present, we only provide seg-to-image models trained on cocostuff.

repo: hustvl/ControlAR


text:
Modularization

I think it would be a good idea to break this project up into separate modules to ease the process of development/testing and also make it easier for incoming developers to be able to understand the project. I have already begun doing this in #421, #422, and #423 but I think there is more to be done. I foresee the project having one "main" module where the overall game is ran, including all other modules, and the set of modules which control the different components of the game (game logic, chat client, canvas, socket handlers, etc).

Thanks for contributing! I do agree that separating functionality into different modules is easier to understand than a large mixed JS file.
Also, I would suggest that If you're going to continue work on modularization, I think it would be better to make one larger pull request with a big batch of commits rather than a bunch of small PRs.

No problem! And will do. Thanks for the feedback.

authors: abalabahaha prevosis

license: mit

license_source: bigquery


text:
Where is the cabal config file?

Without using the PPA in this repository, I can get the contents of the cabal config file in Travis using the following command:
cat $HOME/.cabal/config

Which path should I use with the PPA?

After running
  - travis_retry cabal update

I could get the contents of the cabal config file from $HOME/.cabal/config.

repo: hvr/multi-ghc-travis


text:
OpenAIChat returns only one result

OpenAIChat currently returns only one result even if n > 1:
full_response = completion_with_retry(self, messages=messages, **params)
return LLMResult(
    generations=[
        [Generation(text=full_response["choices"][0]["message"]["content"])]
    ],
    llm_output={"token_usage": full_response["usage"]},
)

Multiple choices in full_response["choices"] should be used to create multiple Generations.

I also encountered this problem.

I reply this issue for person who have the same issue
you can generate multiple result by something like
model = ChatOpenAI(model="gpt-4", n=4)

message = model.generate(
    messages = [messages],
)

※note : Type of messages is List[List[BaseMessage]] , not List[BaseMessage] which we usually use for predict_messages

authors: Yongtae723 smileehn xgdyp

license: MIT


text:
Chroma: Constructor takes wrong embedding function (document vs query)

System Info
Most recent version of Langchain
Python: 3.10.8
MacOS 13.4 - M1
Who can help?
@hwchase17
@agola11
Information

[X] The official example notebooks/scripts
[ ] My own modified scripts

Related Components

[ ] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[X] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
The Chroma constructor in the vectorstore section uses the document function when it should be the query function for embeddings. As a result, if the documents parameter is blank when using Chroma, Langchain will error out with a ValidationError. Please change line 95 to be embed_query instead of embed_documents here in order for this to work / be consistent with the rest of the vectorstore wrappers
Expected behavior
Use the query function instead of the documents function for use with embeddings in Chroma

Could you provide sample code to reproduce this?

You can follow this tutorial and just swap out Pinecone for Chroma (doesn't matter if it persists to disk or not). When upserting vectors, if you leave out the documents parameter, using Chroma from Langchain as a vectorstore and running the similarity_seach function will throw a ValidationError.
I am using OpenAI embeddings along with passing the client parameter.
--> client = Chroma(name='some name', embedding_function=embeddings.embed_query)
The above is consistent with what is in the docstrings for the Chroma class and similar to other vector dbs like Pinecone. To be fair, a lot of the docstrings through this codebase (especially the vectorstore folder) seem to be out of date.

@jrinder42 hope you're doing well! Have you tried deeplake? It is very convenient, easy-to-use tool. It shouldn't have such problem that you mentioned. To get started, you can take a look at: https://github.com/hwchase17/langchain/blob/master/docs/extras/use_cases/code/twitter-the-algorithm-analysis-deeplake.ipynb or https://github.com/hwchase17/langchain/blob/master/docs/extras/use_cases/code/code-analysis-deeplake.ipynb

authors: adolkhan hanifaudah jrinder42


text:
Feat: Add decorator function to register custom components

Description
Closes #1360.
I am opening this PR in draft mode to get early feedback on the idea. (cc @hwchase17, if you are unavailable, can you please tag someone else to check this out? thanks!)
Note: There are still some bugs related to setting up the registry while importing langchain but if others find this idea worth working on, I will continue.
Changelog

✨ added base register decorator function
✨ added register_tool and register_llm_tool decorator functions to register tools for agents
⚡ updated load_tools to use registry dictionaries created by the above register decorator functions

That's great to hear!
I don't think there are any downsides right now because my changes are meant to be backwards compatible. But I do think I'm limiting the potential of this feature. Right now, I am targeting tools and agents. Can you please suggest other components (if any) which can benefit from this register feature?

i think tools and agents are teh main ones - those are the ones that we "load from a string reference" the most/only

alright! I will focus on them for now.

@hwchase17 I will need some guidance to update the docs. Where do you suggest I add documentation for this feature?

@hwchase17 I will need some guidance to update the docs. Where do you suggest I add documentation for this feature?

i can help with docs! fair warning, it may be a bit before i have cycles to review and get this in properly (we'll probably want to do in typescript at the same time)

i can help with docs! fair warning, it may be a bit before i have cycles to review and get this in properly (we'll probably want to do in typescript at the same time)

That's alright. In the meantime, I can work on implementing this feature for typescript. I am mainly a python user but this can be a good exercise for me to learn typescript.

stale, closing for now. let me know if there's anything in here we still want


text:
[feature request] gracefully handle Secret Service absence

There are a number of scenarios in which there's either no Secret Service running on the machine or it's not available, eg. running in a Docker image. When trying to run an executable that depends on keyring-rs, the shell will respond with simply "No such file or directory". Debugging a bit shows us that the binary can't be run without gmp and dbus-1 available on the host system:
$ ldd nuvemfs-cli
	linux-vdso.so.1 (0x00007ffd69df9000)
	libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f734d206000)
	libdbus-1.so.3 => not found
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f734ce15000)
	/lib/ld64.so.1 => /lib64/ld-linux-x86-64.so.2 (0x00007f734d487000)

It would be nice to be able to actually run the executable but return an error at runtime when the program attempts to access the keyring.

ah, sorry I didn't respond! I thought I had.
I like this idea, I'll try to implement this soon.
As for the gmp dependency, removing that is part of a long-awaited refactor.

hmmm... I thought more about the "file not found" error. I'm not sure how to handle this inside the library. secret service has to dynamically link libdbus, and from my understanding shared libraries are loaded before symbols in the executable.
The solution that comes to mind first is to put the keyring dependency behind a feature flag.
Let me know if you have any other ideas; I'm definitely not an expert in building and linking against shared libraries.

Hmm yeah I see how that gets complicated... This looks relevant though: https://www.reddit.com/r/rust/comments/3hrzsk/optionalruntime_loading_of_system_libraries/

Interesting; am I correct in thinking that this would have to be implemented at the level of the wrapper around libdbus, or would a check at a higher level (in keyring) work? I'd have to do a decent bit more digging on my part to be sure, so if you happen to know it would help me out.

It looks like you could check in keyring pretty easily: https://doc.rust-lang.org/1.0.0/std/dynamic_lib/struct.DynamicLibrary.html. It would involve a limited bit of unsafe code but it would be possible.

I don’t have the bandwidth to look into this right now, but it’s something I can look at for my next round of maintenance.

This looks like a candidate for an error code and improved handling in #70.  I'll take a look.

So I've done the research and I stand corrected about this having anything to do with error handling.  Although the Rust infrastructure for using dynamically loaded libraries has gotten pretty good over time, it would still be a tremendous amount of work for us to use secret-service this way.  In fact, I believe it would be far easier for our clients to use this approach with keyring than for us to use it with secret-service.  That is, if you want to make an application that uses keyring when secret-service available, then:

make a dynamic library that statically links keyring (which has a super-simple interface) and exposes it.
make your client check for the presence of secret-service before loading this dynamic library.

I'm going to close this request as an enhancement that we won't fix.

authors: adobeDan hwchen samuela

repo: hwchen/keyring-rs


text:
error decompressing pyxlrd data

hi, I use py xlrd to decode excel file to amf3 file, so I can read it in flash project.
my code :
`def decode(xlsPath, outputPath):
#print xlsPath, outputPath
book = xlrd.open_workbook(xlsPath)
sh = book.sheet_by_index(0)

data = []
for rowIndex in xrange(sh.nrows):
    data.append(sh.row_values(rowIndex))

dataBytes = ByteArray()
dataBytes.writeObject(data)

result = zlib.compress(dataBytes.getvalue())

f = open(outputPath, 'w')
f.write(result)
f.close()

print 'done!'`

as code:
var bytes:ByteArray = open("test.amf"); 			bytes.uncompress("zlib"); 			var o:Object = bytes.readObject(); 			trace(o);
but it show error
Error: Error #2058: There was an error decompressing the data. 	at flash.utils::ByteArray/_uncompress() 	at flash.utils::ByteArray/uncompress() 	at Main/initialize()[D:\workspace\PyAMFSample\src\Main.as:23] 	at Main()[D:\workspace\PyAMFSample\src\Main.as:17] 	at runtime::ContentPlayer/loadInitialContent() 	at runtime::ContentPlayer/playRawContent() 	at runtime::ContentPlayer/playContent() 	at runtime::AppRunner/run() 	at ADLAppEntry/run() 	at global/runtime::ADLEntry()
If  I just set data=[0, 1] for test, that's no error.
I tried check unicode and encode cell to 'gbk', but it got same error.

resolved, use
f = open(outputPath, 'wb')  not 'w'

repo: hydralabs/pyamf


text:
KIO Client Error when launching game

Describe the bug
When trying to launch any game a error by KIO Client pops up
Steps to Reproduce

Install latest stable build or latest artifact
Adding game to library
selecting .exe
hit play

Expected behavior
Game should launch and work fine
Additional information and data

[2024-09-15 21:34:29.959] [error] (main)            Error searching HowLongToBeat: 404
OS info:
Kernel: Linux 6.11.0-5-cachyos
KDE 6.1.5
Operating System
CachyOS(Arch Linux)
Hydra Version
2.1.7(latest artifact)
Before opening this Issue

[X] I have searched the issues of this repository and believe that this is not a duplicate.
[X] I am aware that Hydra team does not offer any support or help regarding the downloaded games.

Exact same issue here, with KDE and CachyOS.
@derholzmann12321 have you ever resolved this by any chance?

nope
Linux 6.11.3-3-cachyos

repo: hydralauncher/hydra


text:
Organizations do not update for the resource author metadata

If you create a resource and check the author metadata, it will show the author's organizations.  If you then update your profile to new organizations, then return to that resource, the author metadata does not show as updated.  Organizations which no longer apply are shown.  This is true for other author metadata as well (e.g. phone, email, etc.)
003.zip

This one is by design. The author metadata is a snapshot of the information supplied by the user. It can be copied from the profile for existing HydroShare users, but this is a one-time copy. It is only updated if the user chooses to modify author information. When resources are published, the author information represents a snapshot in time of what the authors' affiliations were when the resource was published.

i will close the issue

authors: horsburgh hydrocheck martinseul

repo: hydroshare/hydroshare


text:
[#4940] use updated base image

Resolves #4940
in conjunction with https://github.com/hydroshare/hs_docker_base/pull/76

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[Enter positive test case here]

METRIC
VALUE

https://sonarqube.cuahsi-workstation.com:9000/dashboard?id=hydroshare-4942

authors: devincowan hydrocheck


text:
[#5340] Add identifiers icons and update styles

Resolves #5340 by adding identifiers icons for ORCID, Google Scholar, and ResearchGate. It also updates the styles for the identifier icons.

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[Enter positive test case here]

BEFORE


text:
include discover map js

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[Enter positive test case here]

yes it was my error. I inadvertently removed this js import from the template when I did the bucket static media work in this PR:
https://github.com/hydroshare/hydroshare/pull/5482/files#diff-a190b8e0884f8763eb95cb647484f004a0865ec6258ab2452d7c8ffc2b916283
I think I never tested the discover map, or maybe I tried to test it but the map.js file was cached in my browser and so it appeared functional even though it wasn't.
Then all of our later testing on beta.hydroshare.io and cloud.hydroshare.io managed to miss the broken discover map...


text:
🛑 Daisy - Minecraft is down

In 6eeb4da, Daisy - Minecraft (https://mc.hydev.org/dynmap) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Daisy - Minecraft is back up in cb2f9eb.

repo: hykilpikonna/Uptime


text:
🛑 MCPRS - Bell is down

In 7e4a264, MCPRS - Bell (https://mcprs-bell.hydev.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MCPRS - Bell is back up in 743850f.


text:
TypeError: null is not an object (evaluating 'RNAudioRecorderPlayer.startRecorder')

Version of 2.2.1
Platforms IOS
start Recording
Unhandled Promise Rejection (id: 0):
TypeError: null is not an object (evaluating 'RNAudioRecorderPlayer.startRecorder')
Steps to reprodue the behabior

same problem here...

I think this is a podspec problem. I think this will be fixed in 2.2.3 and please come back after trying it out.

Using current version: react-native-audio-recorder-player@^2.4.3
The same issue still exists.
Please help.
Issue detected for the following Functions:
startRecorder
startPlayer

Same issue - My current version is "react-native-audio-recorder-player": "^2.5.2",
and happening with startRecorder.

hi,
this issue still exists in "react-native-audio-recorder-player": "^2.5.3".  How can i fix it??

Try this
const onStartRecord = async () => {
        const path = Platform.select({
            ios: 'hello.m4a',
            android: 'sdcard/hello.mp4', // should give extra dir name in android. Won't grant permission to the first level of dir.
        });
        const audioSet = {
            AudioEncoderAndroid: AudioEncoderAndroidType.AAC,
            AudioSourceAndroid: AudioSourceAndroidType.MIC,
            AVEncoderAudioQualityKeyIOS: AVEncoderAudioQualityIOSType.high,
            AVNumberOfChannelsKeyIOS: 2,
            AVFormatIDKeyIOS: AVEncodingOption.aac,
        };
        const meteringEnabled = false;

        let uri;

        try {
            uri = await this.audioRecorderPlayer.startRecorder(path, meteringEnabled, audioSet);
        } catch (e) { console.log("ERR audioRecorderPlayer.startRecorder: ", e) }
        audioRecorderPlayer.addRecordBackListener((e) => {
            setState(state => ({
                ...state,
                recordSecs: e.current_position,
                recordTime: audioRecorderPlayer.mmssss(
                    Math.floor(e.current_position),
                ),
            }));
            return;
        });
        console.log("uri: ", uri);
    };

and there's an example here
https://github.com/dooboolab/react-native-audio-recorder-player/blob/master/Example/src/components/screen/Intro.tsx

Hi. It still is giving the same issue.

and there's an example here,
part of the git repository of the react-native-audio-recorder-player npm package
https://github.com/dooboolab/react-native-audio-recorder-player/blob/master/Example/src/components/screen/Intro.tsx

404 error.

@shanike Why did you close this issue? I still see the same issue on 3.0.8.

Same here  "react-native-audio-recorder-player": "^3.1.0",

... go to the repository's home page... from a quick look, they changed the folders, https://github.com/dooboolab/react-native-audio-recorder-player

and there's an example here,
part of the git repository of the react-native-audio-recorder-player npm package
https://github.com/dooboolab/react-native-audio-recorder-player/blob/master/Example/src/components/screen/Intro.tsx

404 error.

didnt close anything idk

@shanike Why did you close this issue? I still see the same issue on 3.0.8.

@shanike The same error occurs with me.
[TypeError: undefined is not an object (evaluating '_this.audioRecorderPlayer.startRecorder')] and I am using react-native-audio-recorder-player 3.1.0 and I didn't see any efficient solution while reading this forum. Could you please explain me what exactly should I do to resolve that ?
Thanks

@falcon977
Hi, it's been a while back so I don't remember really what I did. I might have used a different library.
Anyway, this was my insight about the matter:

Try this onStartRecord func
const onStartRecord = async () => {
        const path = Platform.select({
            ios: 'hello.m4a',
            android: 'sdcard/hello.mp4', // should give extra dir name in android. Won't grant permission to the first level of dir.
        });
        const audioSet = {
            AudioEncoderAndroid: AudioEncoderAndroidType.AAC,
            AudioSourceAndroid: AudioSourceAndroidType.MIC,
            AVEncoderAudioQualityKeyIOS: AVEncoderAudioQualityIOSType.high,
            AVNumberOfChannelsKeyIOS: 2,
            AVFormatIDKeyIOS: AVEncodingOption.aac,
        };
        const meteringEnabled = false;

        let uri;

        try {
            uri = await this.audioRecorderPlayer.startRecorder(path, meteringEnabled, audioSet);
        } catch (e) { console.log("ERR audioRecorderPlayer.startRecorder: ", e) }
        audioRecorderPlayer.addRecordBackListener((e) => {
            setState(state => ({
                ...state,
                recordSecs: e.current_position,
                recordTime: audioRecorderPlayer.mmssss(
                    Math.floor(e.current_position),
                ),
            }));
            return;
        });
        console.log("uri: ", uri);
    };

and imports are from react-native-audio-recorder-player package and from react-native:
import { Button, Platform } from 'react-native';
import AudioRecorderPlayer, { AudioEncoderAndroidType, AudioSourceAndroidType, AVEncoderAudioQualityIOSType, AVEncodingOption } from 'react-native-audio-recorder-player';

@shanike The same error occurs with me.
[TypeError: undefined is not an object (evaluating '_this.audioRecorderPlayer.startRecorder')] and I am using react-native-audio-recorder-player 3.1.0 and I didn't see any efficient solution while reading this forum. Could you please explain me what exactly should I do to resolve that ?
Thanks

Since there seems to be a war here, I've just run the Example project and check the consequences. First time the iOS build failed and I've just removed the flipper and it works again.

In android everything works fine. Please try the example project in the repo!

@shanike The same error occurs with me.
[TypeError: undefined is not an object (evaluating '_this.audioRecorderPlayer.startRecorder')] and I am using react-native-audio-recorder-player 3.1.0 and I didn't see any efficient solution while reading this forum. Could you please explain me what exactly should I do to resolve that ?

I think we need more information. I've also tried example in m1 processor but the same thing failed so I've made an update https://github.com/hyochan/react-native-audio-recorder-player/commit/2a3f7b6c3a7f433d8b65688bbe97c51b515083be.
Stackoverflow helped me fix the build.

any solution here?

why this issues is closed we still facing in
"react-native-audio-recorder-player": "^3.5.3",

@shanike The same error occurs with me.
[TypeError: undefined is not an object (evaluating '_this.audioRecorderPlayer.startRecorder')] and I am using react-native-audio-recorder-player 3.1.0 and I didn't see any efficient solution while reading this forum. Could you please explain me what exactly should I do to resolve that ?

I think we need more information. I've also tried example in m1 processor but the same thing failed so I've made an update 2a3f7b6.
Stackoverflow helped me fix the build.

Hi thank you for addressing the problem. It's been a while and I'm not into it anymore. I hope this problem has a solution. Have a great month

This issue has yet to be solved.

I had the same issue, and I checked apps/mobile/native/package.json did't add "react-native-audio-recorder-player": "3.6.12", then I remove the node_modules, and did npm install again

authors: AnswerX Dlozlami Harikasai999 QasimJaffry abir4u akram-chopdawg aliotadi bicccio castor55 chandanrai95 falcon977 fukemy hyochan maxckelly shanike


text:
Example/hello пример для Документации

Добавлен пример example/hello из https://mol.hyoo.ru/#!Description=Create your application component для первого знакомство.
Поможет улучшить документацию

Не уверен что это должно быть в МАМ, хотя так оно будет сразу доступна, но если положить в другую репу то через одну команду будет доступно yarn start example/hello
Я наверно на этой странице, добавил бы выделенную кнопку "Открыть пример", по которому сборщик его загрузит/сбилдит/запустит. В самом примере надо объяснить где в исходниках он лежит

Гитовые сабмодули, точно надо удалить)

Гитовые сабмодули, точно надо удалить)

Сами добавились, я в ручную их не добавлял. Возможно изьян в .gitignore или я как-то не правильно пушу в репозиторий.

Не уверен что это должно быть в МАМ, хотя так оно будет сразу доступна, но если положить в другую репу то через одну команду будет доступно yarn start example/hello
Я наверно на этой странице, добавил бы выделенную кнопку "Открыть пример", по которому сборщик его загрузит/сбилдит/запустит. В самом примере надо объяснить где в исходниках он лежит

Это по идее просто в браузере отображаются дерриктории (как на nginx папка web) - кнопку здесь не получится сделать вообще (нативный explorer). А так с командой даже лучше наверное yarn start example/hello подойдёт любая команда и инструкция, как её запустить. Я пока не вижу как реализовать эту команду - вся надежда на вас)

authors: Lyumih PavelZubkov

repo: hyoo-ru/mam


text:
版本v1.0.0,plugin v0.0.1,go version go1.16.4 linux/amd64

root@tmd-QiTianM610-N000:/gopath/src/test0# ./hyperbench start benchmark/hyperchain/local
[blockchain][ERROR] 18:44:14.027 blockchain.go:25 plugin failed: plugin.Open("./hyperchain"): plugin was built with a different version of package golang.org/x/sys/internal/unsafeheader
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0xf568f6]
goroutine 1 [running]:
plugin.lookup(...)
plugin/plugin_dlopen.go:138
plugin.(*Plugin).Lookup(...)
plugin/plugin.go:40
github.com/hyperbench/hyperbench/plugins/blockchain.NewBlockchain(0xc0004110f8, 0x5, 0xc000098540, 0x25, 0xc000098580, 0x23, 0x0, 0x0, 0x0, 0xc0004e9740, ...)
github.com/hyperbench/hyperbench/plugins/blockchain/blockchain.go:33 +0xf6
github.com/hyperbench/hyperbench/vm/lua.(*VM).setPlugins(0xc00040c600, 0xc000400c00, 0x0, 0xc0003c2aa0)
github.com/hyperbench/hyperbench/vm/lua/lua.go:265 +0x378
github.com/hyperbench/hyperbench/vm/lua.NewVM(0xc0004e9e60, 0xc00040c600, 0x0, 0x0)
github.com/hyperbench/hyperbench/vm/lua/lua.go:56 +0x135
github.com/hyperbench/hyperbench/vm.NewVM(0xc000098462, 0x3, 0xc000098440, 0x25, 0xffffffffffffffff, 0xffffffffffffffff, 0xc0003fbb00, 0x0, 0x7fa6802e8bd0, 0xc00040c5c0)
github.com/hyperbench/hyperbench/vm/vm.go:68 +0xe5
github.com/hyperbench/hyperbench/core/controller/master.NewLocalMaster(0x0, 0x0, 0x0)
github.com/hyperbench/hyperbench/core/controller/master/master.go:80 +0x148
github.com/hyperbench/hyperbench/core/controller.NewController(0x7ffc205706e9, 0x1a, 0x0, 0x0)
github.com/hyperbench/hyperbench/core/controller/controller.go:48 +0x34
github.com/hyperbench/hyperbench/cmd.runBenchmark(0x7ffc205706e9, 0x1a)
github.com/hyperbench/hyperbench/cmd/cobra.go:118 +0x52
github.com/hyperbench/hyperbench/cmd.addRun.func1(0x25d3c20, 0xc000119600, 0x1, 0x1)
github.com/hyperbench/hyperbench/cmd/cobra.go:61 +0xcf
github.com/spf13/cobra.(*Command).execute(0x25d3c20, 0xc0001195d0, 0x1, 0x1, 0x0, 0x0)
github.com/spf13/cobra@v1.7.0/command.go:944 +0x33a
github.com/spf13/cobra.(*Command).ExecuteC(0x25d41e0, 0x0, 0x0, 0xc00005c740)
github.com/spf13/cobra@v1.7.0/command.go:1068 +0x395
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/cobra@v1.7.0/command.go:992
main.main()
github.com/hyperbench/hyperbench/main.go:16 +0xe5

#51 可参考这个问题的解决思路

authors: liuxiaomeiG userInner

repo: hyperbench/hyperbench


text:
[BUG] 熔断 fallback 函数内，日志功能不能正常使用，Exception 不能正常抛出

Hyperf Version: 1.1.7
PHP Version: (php -v) 7.2.24
Swoole Version: (php --ri swoole) 4.4.8

Description:
在 fallback method 内，日志功能不能正常使用， Exception 不能正常抛出
Steps To Reproduce:
/**
     * 获取.
     *
     * @CircuitBreaker(handler="App\CircuitBreaker\DefaultHandler", timeout=0.01, successCounter=2, failCounter=3, fallback="AccessTokenService::getUserInfoFallback")
     *
     * @param string $access_token
     *
     * @return UserInfo
     */
    public function getUserInfo(string $access_token): UserInfo
    {
        // 省略
        return $info;
    }

public function getUserInfoFallback(string $access_token)
    {
        Logger::error('fuck', [$access_token]);  // 日志文件中没有

       throw new Exception(); // 不能正常抛出，同时报错：必须返回 UserInfo
    }

首先 确定一下是否会进入 fallback 流程。。
另外，熔断逻辑可以使用 retry 组件。

感谢回复
刚刚看了下源码，知道什么问题了，在此说明下：
自己实现的 handler 源码如下，最初想法为：当被熔断方法出现异常或超时时，则执行 熔断方法
protected function process(ProceedingJoinPoint $proceedingJoinPoint, CircuitBreaker $breaker, Annotation $annotation)
    {
        $timeout = $annotation->value['timeout'] ?? self::DEFAULT_TIMEOUT;

        // 未知异常熔断处理
        try {
            $start_time = microtime(true);
            $result = $proceedingJoinPoint->process();
            $use = microtime(true) - $start_time;
        } catch (Exception $e) {
            $msg = sprintf('由于未知异常, %s::%s 处理失败: %s. 已进行熔断降级处理.', $proceedingJoinPoint->className, $proceedingJoinPoint->methodName, $e->getMessage());

            Logger::error($msg, [$e->getTraceAsString()]);

            throw new UnexpectExceptionCircuitBreakerException($msg);
        }

        // 超时处理
        if ($use > $timeout) {
            $msg = sprintf('%s::%s 请求超时, 使用 %ss. 已进行熔断降级处理.', $proceedingJoinPoint->className, $proceedingJoinPoint->methodName, $use);

            Logger::error($msg);

            throw new TimeoutException('timeout, use '.$use.'s', $result);
        }

        $msg = sprintf('%s::%s 请求成功, 使用 %ss.', $proceedingJoinPoint->className, $proceedingJoinPoint->methodName, $use);
        Logger::debug($msg);

        return $result;
    }

源码，AbstractHandler 中 call 方法如下：
protected function call(ProceedingJoinPoint $proceedingJoinPoint, CircuitBreaker $breaker, Annotation $annotation)
    {
        try {
            $result = $this->process($proceedingJoinPoint, $breaker, $annotation);

            $breaker->incSuccessCounter();
            $this->switch($breaker, $annotation, true);
        } catch (\Throwable $exception) {
            if (! $exception instanceof CircuitBreakerException) {
                throw $exception;
            }

            $result = $exception->getResult();
            $msg = sprintf('%s::%s %s.', $proceedingJoinPoint->className, $proceedingJoinPoint->methodName, $exception->getMessage());
            $this->logger->debug($msg);

            $breaker->incFailCounter();
            $this->switch($breaker, $annotation, false);
        }

        return $result;
    }

由此分析，当被熔断方法出现异常时， call 方法会直接使用  $exception->getResult() 方法作为结果返回，而此时 result 为 null 的，所以有个报错 必须返回 UserInfo ，同时，也没有进入熔断方法内执行 Logger 等后续代码。
希望可以改进此设计，交由开发者自行处理，等手头项目开发完毕，我很乐意为 hyperf 做些贡献。
PS ：想问下 retry 组件的相关文档有吗？
感谢

http://hyperf.wiki/#/zh/retry

感谢回复。
通过对 hyperf 实际项目的使用，有了一定新的思考，对 hyperf 也挺感兴趣的
后续定会 contribute 到这个项目
谢谢！
此 issue 暂时做关闭处理

authors: huangzhhui limingxinleo yansongda

repo: hyperf/hyperf


text:
[QUESTION] AMQP 连接超时

derDemoExport.php on line 170
PHP Fatal error:  Uncaught PhpAmqpLib\Exception\AMQPRuntimeException: Error receiving data, errno=110 in /data/wwwroot/client.test2.meiquick.com/vendor/hyperf/amqp/src/Connection/SwooleIO.php:176
Stack trace:
#0 /data/wwwroot/client.test2.meiquick.com/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php(165): Hyperf\Amqp\Connection\SwooleIO->read(7)
#1 /data/wwwroot/client.test2.meiquick.com/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php(106): PhpAmqpLib\Wire\AMQPReader->rawread(7)
#2 /data/wwwroot/client.test2.meiquick.com/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(566): PhpAmqpLib\Wire\AMQPReader->read(7)
#3 /data/wwwroot/client.test2.meiquick.com/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(623): PhpAmqpLib\Connection\AbstractConnection->wait_frame(3)
#4 /data/wwwroot/client.test2.meiquick.com/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php(234): PhpAmqpLib\Connection\AbstractConnection->wait_channel(0, 3)
#5 /data/ in /data/wwwroot/client.test2.meiquick.com/vendor/hyperf/amqp/src/Connection/SwooleIO.php on line 176
消息队列时不时会报这样的错误

110 是超时，请查阅文档
/switch-to question

我也遇到这个问题了 @gkfsunshine 大佬是如何处理的呢？

authors: gkfsunshine huangzhhui wanglilong2013


text:
[QUESTION] config/autoload/devtool.php 与 composer --no-dev参数冲突

Before you submit this issue, you has been search all existed issues and search the documentation

[x] I've been search all existed issues
[x] I've been read all documentation

Describe your question
问题现象:
PHP Fatal error:  Uncaught Hyperf\Di\Exception\NotFoundException: No entry or class found for 'Hyperf\Devtool\VendorPublishCommand' in /app/vendor/hyperf/di/src/Container.php:79

操作：docker build打包镜像
// dockerfile中composer命令

RUN composer -vvv install --no-dev --no-plugins --no-scripts --prefer-dist && chmod +x /bin/entrypoint.sh && php bin/hyperf

解决方案:
config/autoload/devtool.php 添加到.dockerignore文件中

问题分析:
config/autoload/devtool.php文件会在系统执行php /bin/hyperf加载， 组件hyperf/devtool在composer.json文件中处于require-dev节点 与 composer --no-dev参数冲突
hyperf/devtool组件作用:  https://hyperf.wiki/2.0/#/zh-cn/devtool

不要no-scripts

你这个明显因为nodev安装的时候，禁止了脚本，导致注解缓存没有清空，然后再启动导致报错

authors: limingxinleo ushell


text:
OpenSSL 1.1 incompatible with qt < 5.10

[x] I confirm that this is an issue rather than a question.

Bug report
I just tried the new release. But it's always crashing. Am I doing something wrong or is this a bug?
(The previous versions run fine)
Steps to reproduce
Install released version
Start it
What is expected?
Hyperion starts
What is actually happening?
pi@Hyperion-on-RPi1:/usr/share/hyperion/bin $ sudo hyperiond
[hyperiond EFFECTFILES] <INFO> 38 effects loaded from directory :/effects/
[hyperiond EFFECTFILES] <INFO> 21 effect schemas loaded from directory :/effects/schema/
[hyperiond EFFECTFILES] <INFO> 0 effects loaded from directory /root/.hyperion/custom-effects
[hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:101:SettingsManager()> Settings database initialized
[hyperiond BLACKBORDER] <DEBUG> <BlackBorderProcessor.cpp:65:handleSettingsUpdate()> Set mode to: default
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Blackborder detector: enabled
[hyperiond DAEMON] <INFO> set screen capture device to 'dispmanx'
[hyperiond DISPMANXGRABBER] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
[hyperiond DISPMANXGRABBER] <INFO> Display opened with resolution: 640x480
[hyperiond DISPMANXGRABBER] <DEBUG> <Grabber.cpp:82:setWidthHeight()> Set new width: 80, height: 45 for capture
[hyperiond DAEMON] <INFO> DISPMANX frame grabber created
[hyperiond V4L2:/dev/video0] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
[hyperiond LEDDEVICE] <INFO> LedDevice 'ws281x' found.
[hyperiond V4L2:/dev/video0] <INFO> Signal threshold set to: {12, 12, 12}
[hyperiond V4L2:/dev/video0] <INFO> Cropping image: width=0 height=0; crop: left=20 right=21 top=0 bottom=14
[hyperiond V4L2:/dev/video0] <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
[hyperiond DAEMON] <DEBUG> <hyperiond.cpp:434:handleSettingsUpdate()> V4L2 grabber created
[hyperiond LEDDEVICE] <DEBUG> <LedDeviceWS281x.cpp:60:init()> ws281x strip type : 1050624
[hyperiond JSONSERVER] <DEBUG> <JsonServer.cpp:25:JsonServer()> Created instance
[hyperiond JSONSERVER] <INFO> Started on port 19444
[hyperiond FLATBUFCONNECTION] <INFO> Connecting to Hyperion: 127.0.0.1:19401
[hyperiond EFFECTENGINE] <INFO> Run effect "Start Background" on channel 0
[hyperiond EFFECTENGINE] <ERROR> Effect Start Background not found
[hyperiond HYPERION] <INFO> Initial foreground effect 'Start Background' failed
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:158:registerInput()> Register new input 'System/COLOR' with priority 254 as inactive
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:198:setInput()> Priority 254 is now active
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 254
[hyperiond HYPERION] <INFO> Inital background color set (163 122 67)
[hyperiond BOBLIGHT] <DEBUG> <BoblightServer.cpp:28:BoblightServer()> Instance created
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> LED device: enabled
[hyperiond FLATBUFSERVER] <INFO> Started on port 19400
[hyperiond PROTOSERVER] <INFO> Started on port 19445
[hyperiond HYPERION] <INFO> Hyperion instance 'First LED Hardware instance' has been started
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: QSslSocket: cannot resolve SSLeay_version
qt.network.ssl: QSslSocket: cannot call unresolved function SSLeay
qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:105:handleSettingsUpdate()> Set document root to: :/webconfig
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function sk_num
[hyperiond WEBSERVER] <DEBUG> Previous line repeats 1 times
[hyperiond WEBSERVER] <INFO> Started on port 8090 name 'Hyperion Webserver'
Segmentation fault

System
Raspberry Pi1 running Raspian

Seems to be a issue with qt <-> openssl. so
Can you verify with sudo apt-get install openssl that the version is 1.1
Thanks

Yes it was:
Package: openssl Version: 1.1.1d-0+deb10u2
but running
sudo apt install libssl1.0-dev
fixed it for me. Thanks
Maybe this should be listed as an install dependency.

Great it worked, but libssl1.0-dev is a transition dependency and no longer available for debian buster. Not sure how other platforms handle this.
Solutions

package openssl1.0 (+ possible sub deps) until Qt5.10 is available on all platforms.
Recompile qt for all platforms with openssl11 support
Update to Qt 5.10 for all platforms (first version with openssl 1.1)

2 and 3 can be combined to compile always the latest qt version and package it.
@Lord-Grey @Paulchen-Panther

@brindosch
Ich werde mich der sache mal annehmen.
Unsere Docker Container laufen ja noch auf Stretch. Sollten wir diese vielleicht auch auf Buster upgraden?

Avahi sollten wir glaube ich auch aus der Blacklist streichen.
Screen:

Source:
https://github.com/hyperion-project/hyperion.ng/blob/master/src/hyperiond/CMakeLists.txt#L8-L9

Ich werde noch mal schauen, warum die libssl NICHT mit in das /lib verzeichnis kopiert wird.
Screen:

authors: Paulchen-Panther TheAndi brindosch


text:
feat(status): add StatusCodes scoped by StatusClass

This enables users to limit their api to certain classes of StatusCode, e.g. if you only want to accept error codes you can do:
use hyper::status::StatusCode;
use hyper::status::scoped;

trait HttpError {}

impl HttpError for scoped::ClientError {}
impl HttpError for scoped::ServerError {}

fn only_accept_errors<E: HttpError + Into<StatusCode>>(error: E) {
     let _status_code: StatusCode = error.into();
     // ... use status code here ...
}

// Will not compile
// only_accept_errors(scoped::Informational::Continue);

// These work fine!
only_accept_errors(scoped::ClientError::BadRequest);
only_accept_errors(scoped::ServerError::InternalServerError);

This is somewhat similar to the proposal here, but since we're able to generate the StatusCodes by macro, it's a relatively minor change to get the added benefit, I think it can be worth it to just do it without the language feature assisting.

This seems clever, but I worry it might be too clever. Let me see. The status codes will be duplicated into the scoped module? Such that StatusCode::BadRequest and scoped::ClientError::BadRequest will exist? I imagine people trying to *res.status_mut() = ClientError::BadRequest and wondering why they are getting errors...

I have the same concerns, this is very cool but might be too much. However, I am leaning towards it since I think the ability to talk about only a class of status codes is pretty interesting.
The problem @seanmonstar raised can be mitigated by providing a set_status function which takes an S: Into<StatusCode>, though it still is a bit of an ergonomic hurdle. Fortunately even without such an API the fix for that error is just one .into(), which is not so bad.

providing a set_status function which takes an S: Into, though it still is a bit of an ergonomic hurdle

This is what I would suggest too, seems more flexible and people don't have to remember to deref the mut reference. (Personally, I see foo.set_status(..) as more ergonomic than *foo.status_mut() = ..)
fwiw, the error when you make the mistake is:
expected `hyper::status::StatusCode`,
    found `hyper::status::scoped::ClientError`
(expected enum `hyper::status::StatusCode`,
    found enum `hyper::status::scoped::ClientError`) [E0308]

Perhaps adding some suggestion of using .into() in the docstring could help? The From implementation gets listed under the docs for StatusCode while the blanket impl of Into doesn't appear on the docpages for the specialisations :(

I'm +0. If you two feel strongly that this is an overall win, then @reem can merge at his convenience.

If we could somehow hint in that error to use Into then I think I would be for it but right now it's just not very newbie friendly.

Okay, should I rebase to the first commit or just close the PR?

Closing for now, but I'm not against proposals. Thanks for the idea!

authors: Ryman reem seanmonstar

repo: hyperium/hyper


text:
Add accept_compressed and send_compressed methods to the InterceptedService struct

Feature Request
Motivation
I would like to create a service that has an authentication interceptor that accepts and sends compressed messages.
Since with_interceptor returns an InterceptedService, which doesn't implement accept_compressed and send_compressed, and with_interceptor takes in a service, not a server, I can't do both simultaneously.
This is what I want to do.
let users = UsersServer::with_interceptor(users, authenticator)
    .accept_compressed(CompressionEncoding::Gzip)
    .send_compressed(CompressionEncoding::Gzip);

There are also max_decoding_message_size, and max_encoding_message_size functions that should be equally accessible for an InterceptedService.
Proposal
Implement the accept_compressed and send_compressed functions for the InterceptedService struct.

Same problem here.

@njfewr
I did find a way to do it:
let service = YourService::new();
let service = YourServer::new(service)
    .accept_compressed(CompressionEncoding::Gzip)
    .send_compressed(CompressionEncoding::Gzip);
let service =
    InterceptedService::new(service, interceptor);

I think I'm okay with just closing the issue.

authors: cyanic-selkie njfewr

repo: hyperium/tonic


text:
Added molecule test for crypto-constellation and added ignore-yes for…

… vault related task since we're not testing vault, also added idempotence tags
Signed-off-by: Dimbu Afonso dimbu.k.afonso@accenture.com
Changelog

Added molecule test for crypto-constellation and added ignore-yes for vault related tasks since we're not testing vault - Moreover, added idempotence tags.

Reviewed by
@suvajit-sarkar @sownak
Linked issue
#723

A similar comment here,
Why are we having no idempotence checks in all tasks except the last one?

authors: Dimbu-Afonso jagpreetsinghsasan


text:
First integration of Commercial Registry Entry

When receiving a Commercial Registry Entry Presentation from a Business Partner for which I don't have a public DID, the BPA should use the DID in the Commercial Registry Entry as public DID for the BP, and resolve the DID doc and Public Profile.
When clicking on "Refresh from Source" this public DID should be used and not the Peer DID that is part of the connection.
This is a first resolution for #63
On IIL we use the following Schema for the Commercial Registry Entry: 8faozNpSjFfPJXYtgcPtmJ:2:commercialregister:1.2

If you want to get a Commercial Registry Entry you can use https://oc-proxy.dev.economyofthings.io/#/requestIdentity

repo: hyperledger-labs/business-partner-agent


text:
illegal instruction error crashed FPC chaincode when calling put_state

I'm calling put_state to store three k-v pairs to worldstate. But it seems that one of them crashed chaincode.
The commented out two lines  codes crashed chaincode(If I comment them out,  chaincode just works well).

Here's the values of  k-v pairs.

The following is the error log.

I'm confused why  {"owner":"org2admin","msp":"Org2MSP","asset_list":"[]"}  can't be stored into world state.
So does anyone know what's causing the problem

Would you please rebase and test your work on top of PR #560 ?
I suspect that that would solve your issue.

Maybe this issue is related to the bug @bvavala has discovered and fixed with #560.
Can you maybe try to dig a bit deeper and see where exactly the enclave crashes? For instance, you could add a debug log here to see if we reach the ocall.

I just dealt with this problem temporarily by passing an uint8_t pointer to put_state function.
            result = deleteWallet(&fromWallet, asset_name);
            uint8_t* temp = new uint8_t[result.size()+1];
            STRING_TO_POINTER(temp, result, result.size());
            LOG_DEBUG("from wallet in transfer:%s", result.c_str());
            put_state(fromWalletKey.c_str(), temp, result.size(), ctx);

Would you please rebase and test your work on top of PR #560 ?
I suspect that that would solve your issue.
And I will test my work later on this PR. I'm just an a deadline. :stuck_out_tongue_closed_eyes:

FYI PR #560 has been merged.

I just tested my  work on PR #560. And you are right, this PR solved my issue.

Would you please rebase and test your work on top of PR #560 ?
I suspect that that would solve your issue.

authors: TrueAbc bvavala mbrandenburger