fiftyone icon indicating copy to clipboard operation
fiftyone copied to clipboard

[BUG] Server events memory leak

Open brimoor opened this issue 3 years ago • 2 comments

A user reported the following error after a multiple hour session tagging data in the FiftyOne App.

After this error occurs, refreshing the browser is not sufficient to recover.

An unknown error occurred.

  File "/usr/local/lib/python3.7/site-packages/graphql/execution/execute.py", line 353, in await_result
    return await result  # type: ignore

  File "/usr/local/lib/python3.7/site-packages/graphql/execution/execute.py", line 414, in get_results
    return await cast(Awaitable, results)

  File "/usr/local/lib/python3.7/site-packages/graphql/execution/execute.py", line 403, in set_result
    results[response_name] = await result

  File "/usr/local/lib/python3.7/site-packages/graphql/execution/execute.py", line 632, in await_result
    self.handle_field_error(error, return_type)

  File "/usr/local/lib/python3.7/site-packages/graphql/execution/execute.py", line 666, in handle_field_error
    raise error

  File "/usr/local/lib/python3.7/site-packages/graphql/execution/execute.py", line 625, in await_result
    return_type, field_nodes, info, path, await result

  File "/usr/local/lib/python3.7/site-packages/strawberry/extensions/directives.py", line 19, in resolve
    result = await await_maybe(_next(root, info, *args, **kwargs))

  File "/usr/local/lib/python3.7/site-packages/strawberry/utils/await_maybe.py", line 12, in await_maybe
    return await value

  File "/usr/local/lib/python3.7/site-packages/strawberry/schema/schema_converter.py", line 396, in _async_resolver
    return await await_maybe(_get_result(_source, strawberry_info, **kwargs))

  File "/usr/local/lib/python3.7/site-packages/strawberry/utils/await_maybe.py", line 12, in await_maybe
    return await value

  File "/usr/local/lib/python3.7/site-packages/fiftyone/server/mutation.py", line 67, in set_selected
    await dispatch_event(subscription, StateUpdate(state=state))

  File "/usr/local/lib/python3.7/site-packages/fiftyone/server/events.py", line 68, in dispatch_event
    listener.queue.put_nowait((datetime.now(), event))

  File "/usr/local/lib/python3.7/asyncio/queues.py", line 144, in put_nowait
    raise QueueFull

brimoor avatar Nov 23 '22 15:11 brimoor

in python=3.8 same issue:

An unknown error occurred.

  File "/usr/local/lib/python3.8/site-packages/graphql/execution/execute.py", line 353, in await_result
    return await result  # type: ignore

  File "/usr/local/lib/python3.8/site-packages/graphql/execution/execute.py", line 414, in get_results
    return await cast(Awaitable, results)

  File "/usr/local/lib/python3.8/site-packages/graphql/execution/execute.py", line 403, in set_result
    results[response_name] = await result

  File "/usr/local/lib/python3.8/site-packages/graphql/execution/execute.py", line 632, in await_result
    self.handle_field_error(error, return_type)

  File "/usr/local/lib/python3.8/site-packages/graphql/execution/execute.py", line 666, in handle_field_error
    raise error

  File "/usr/local/lib/python3.8/site-packages/graphql/execution/execute.py", line 625, in await_result
    return_type, field_nodes, info, path, await result

  File "/usr/local/lib/python3.8/site-packages/strawberry/extensions/directives.py", line 19, in resolve
    result = await await_maybe(_next(root, info, *args, **kwargs))

  File "/usr/local/lib/python3.8/site-packages/strawberry/utils/await_maybe.py", line 12, in await_maybe
    return await value

  File "/usr/local/lib/python3.8/site-packages/strawberry/schema/schema_converter.py", line 396, in _async_resolver
    return await await_maybe(_get_result(_source, strawberry_info, **kwargs))

  File "/usr/local/lib/python3.8/site-packages/strawberry/utils/await_maybe.py", line 12, in await_maybe
    return await value

  File "/usr/local/lib/python3.8/site-packages/fiftyone/server/mutation.py", line 67, in set_selected
    await dispatch_event(subscription, StateUpdate(state=state))

  File "/usr/local/lib/python3.8/site-packages/fiftyone/server/events.py", line 68, in dispatch_event
    listener.queue.put_nowait((datetime.now(), event))

  File "/usr/local/lib/python3.8/asyncio/queues.py", line 148, in put_nowait
    raise QueueFullv

agfianf avatar Nov 29 '22 05:11 agfianf

Hi there, are you guys still getting this issue? I'm getting something similar on my code base and was wondering if you guys found a solution.

I'm using Strawberry Python for Graph QL queries, and were getting the following error repeatedly.

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/graphql/execution/execute.py", line 528, in await_result
    return_type, field_nodes, info, path, await result

We also get the below

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 408, in run_asgi
    result = await app(  # type: ignore[func-returns-value]

Spartanforever1 avatar Nov 13 '23 08:11 Spartanforever1

Should be resolved

benjaminpkane avatar Aug 19 '24 12:08 benjaminpkane