PaddleCV-SIG / PaddleLabel

飞桨智能标注,让标注快人一步
https://paddlecv-sig.github.io/PaddleLabel/
Apache License 2.0
238 stars 39 forks source link

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application. #72

Closed monkeycc closed 2 years ago

monkeycc commented 2 years ago

矩形框 修改的时候

提示 The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

提示有 保存成功

但是 按 下一张 再返回

还是原来位置

必须要手动 按 保存 按钮

linhandev commented 2 years ago

这个稳定复现吗?就是自动保存的时候前端说成功,后端cmd打报错,实际没有保存成功? @monkeycc

monkeycc commented 2 years ago

前端提示 保存成功 但是报错 指令 应该没发送到后端 卡着不动了

说明交互之间的过程 没有进行一个验证 前端检测到 修改 就直接提示 保存成功 再发送命令 但是后端这里报错 收不到

@linhandev

[ERROR]app.1742: Exception on /api/annotations/29 [PUT]
Traceback (most recent call last):
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask\app.py", line 2525, in wsgi_app
    response = self.full_dispatch_request()
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask\app.py", line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask\app.py", line 1820, in full_dispatch_request
    rv = self.dispatch_request()
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask\app.py", line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\decorator.py", line 68, in wrapper
    response = function(request)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\uri_parsing.py", line 149, in wrapper
    response = function(request)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\validation.py", line 196, in wrapper
    response = function(request)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\validation.py", line 399, in wrapper
    return function(request)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\parameter.py", line 120, in wrapper
    return function(**kwargs)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\paddlelabel\api\controller\base.py", line 103, in put
    if k not in Model._cols:
TypeError: argument of type 'method' is not iterable
[ERROR]app.1742: Exception on /api/annotations/29 [PUT]
Traceback (most recent call last):
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask\app.py", line 2525, in wsgi_app
    response = self.full_dispatch_request()
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask\app.py", line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask\app.py", line 1820, in full_dispatch_request
    rv = self.dispatch_request()
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\flask\app.py", line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\decorator.py", line 68, in wrapper
    response = function(request)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\uri_parsing.py", line 149, in wrapper
    response = function(request)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\validation.py", line 196, in wrapper
    response = function(request)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\validation.py", line 399, in wrapper
    return function(request)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\connexion\decorators\parameter.py", line 120, in wrapper
    return function(**kwargs)
  File "D:\Anaconda3\envs\PaddleLabel\lib\site-packages\paddlelabel\api\controller\base.py", line 103, in put
    if k not in Model._cols:
TypeError: argument of type 'method' is not iterable

https://user-images.githubusercontent.com/6490927/185542499-206f3c24-da65-47f3-91b4-b340e08e94a0.mp4

linhandev commented 2 years ago

这看着也是那个那个39以下会有的问题,你那几行注掉之后这块还有问题吗?

monkeycc commented 2 years ago

果然是这个问题


        for k in list(body.keys()):
            if k in Model._immutables:
                # abort(403, f"{Model.__tablename__}.{k} doesn't allow edit")
                del body[k]
            # if k not in Model._cols:
            #     abort(404, f"{Model.__tablename__}.{k} doesn't have property {k}")

注释之后 不会出现 The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

保存 正常

linhandev commented 2 years ago

6的,那解决那一个就行了

linhandev commented 2 years ago

v0.1.1应该是解决了这个问题,可以试一下

monkeycc commented 2 years ago

没问题 通过

linhandev commented 2 years ago

6的