-
-
Notifications
You must be signed in to change notification settings - Fork 201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unbound response
error
#726
Comments
I have a similar issue with the same call Suddenly, without any change, I get the error "ERROR: cannot access local variable 'response' where it is not associated with a value" |
It was the same with me. No change from my side and starting seeing error. |
I have similar issue. here's my code: res = await get_async_client().storage.from_(PDF_BUCKET).upload(
file=file,
path=filename,
file_options={"content-type": "application/pdf"}
)
return res.json() this exception was raised because I was trying to upload PDF greater than 50mb, the handling however is not error-proof, here's the code responsible for the exception: in async def _request(
self,
method: RequestMethod,
url: str,
headers: Optional[dict[str, Any]] = None,
json: Optional[dict[Any, Any]] = None,
files: Optional[Any] = None,
**kwargs: Any,
) -> Response:
try:
response = await self._client.request(
method, url, headers=headers or {}, json=json, files=files, **kwargs
)
response.raise_for_status()
except HTTPError:
try:
resp = response.json() # <--- this line is responsible for the error
raise StorageException({**resp, "statusCode": response.status_code})
except JSONDecodeError:
raise StorageException({"statusCode": response.status_code})
return response |
Unable to reproduce this. Please provide a reproducible repository with the issue. |
The issue is transient as it required the request to fail. Hard to provide a repo for this to reproduce. My question to you would be is there any case where self._client.request would fail without returning a response? Clearly the issue seems to be that there is some edge case somewhere where request is failing and not returning a response to be checked. |
@ddematheu there aren't any cases that I know of or have come across myself personally. I will leave this issue open until someone can provide such an edge-case where this happens, but until then there isn't much I can do to fix it from the library's perspective. |
I will try to reproduce in the upcoming week. When Storage returns 520 errors, response is unbounded here too. |
Today has been particularly bad with seeing lots of these coming back. Not consistent |
Seeing a http read timeout Traceback (most recent call last): When handling that exception, its hitting the issue Not sure @silentworks how to repro causing that issue, but when the timeout happens, the other issue happens as well. |
@ddematheu can you give more info, like the size/type of the file you are trying to upload and which methods this happens with? |
I have the same problem on supabase2.5.0 when using storage upload. There's nothing changed before but everything suddenly stopped working. I restarted the Terminal and Python a few times, but the error persists. |
You may try to modify the _request method to ensure that the response variable is only accessed if it has been assigned a value. You can do this by initializing response to None and checking if it’s None before trying to access it:
|
Bug report
Describe the bug
Library is throwing a unbound error for variable response.
To Reproduce
Call :
response = supabase.storage.from_(bucket_name).download(file_path)
Full tracestack
File "/app/supabase_utils/download_utils.py", line 39, in download_with_retry
response = supabase.storage.from_(bucket_name).download(file_path)
File "/usr/local/lib/python3.10/site-packages/storage3/_sync/file_api.py", line 342, in download
response = self._request(
File "/usr/local/lib/python3.10/site-packages/storage3/_sync/file_api.py", line 50, in _request
resp = response.json()
UnboundLocalError: local variable 'response' referenced before assignment"
Expected behavior
A clear and concise description of what you expected to happen.
No unbound error.
Screenshots
If applicable, add screenshots to help explain your problem.
System information
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: