Skip to content

Instantly share code, notes, and snippets.

@shawn111
Created October 23, 2019 07:10
Show Gist options
  • Save shawn111/3f3f92481557505eb3737fdfd45f7e9b to your computer and use it in GitHub Desktop.
Save shawn111/3f3f92481557505eb3737fdfd45f7e9b to your computer and use it in GitHub Desktop.
{"level":"error","ts":1571814536.6378398,"caller":"mlog/log.go:173","msg":"Command with a trigger of 'helloabc' returned response 500 INTERNAL SERVER ERROR","path":"/api/v4/commands/execute","request_id":"mwa1qptwajft3bij3euhttgcoc","ip_addr":"114.40.146.117","user_id":"zcouasondpnxmjot3m7wg64tbw","method":"POST","err_where":"command","http_code":500,"err_details":"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n <head>\n <title>json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) // Werkzeug Debugger</title>\n <link rel=\"stylesheet\" href=\"?__debugger__=yes&amp;cmd=resource&amp;f=style.css\"\n type=\"text/css\">\n <!-- We need to make sure this has a favicon so that the debugger does\n not by accident trigger a request to /favicon.ico which might\n change the application state. -->\n <link rel=\"shortcut icon\"\n href=\"?__debugger__=yes&amp;cmd=resource&amp;f=console.png\">\n <script src=\"?__debugger__=yes&amp;cmd=resource&amp;f=jquery.js\"></script>\n <script src=\"?__debugger__=yes&amp;cmd=resource&amp;f=debugger.js\"></script>\n <script type=\"text/javascript\">\n var TRACEBACK = 139989362605920,\n CONSOLE_MODE = false,\n EVALEX = true,\n EVALEX_TRUSTED = false,\n SECRET = \"0kk2IAe4MNELYCW7NxTX\";\n </script>\n </head>\n <body style=\"background-color: #fff\">\n <div class=\"debugger\">\n<h1>json.decoder.JSONDecodeError</h1>\n<div class=\"detail\">\n <p class=\"errormsg\">json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)</p>\n</div>\n<h2 class=\"traceback\">Traceback <em>(most recent call last)</em></h2>\n<div class=\"traceback\">\n \n <ul><li><div class=\"frame\" id=\"frame-139989362605808\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/app.py\"</cite>,\n line <em class=\"line\">2309</em>,\n in <code class=\"function\">__call__</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>def __call__(self, environ, start_response):</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>&quot;&quot;&quot;The WSGI server calls the Flask application object as the</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>WSGI application. This calls :meth:`wsgi_app` which can be</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>wrapped to applying middleware.&quot;&quot;&quot;</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>return self.wsgi_app(environ, start_response)</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>def __repr__(self):</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>return '&lt;%s %r&gt;' % (</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>self.__class__.__name__,</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>self.name,</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989362605584\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/app.py\"</cite>,\n line <em class=\"line\">2295</em>,\n in <code class=\"function\">wsgi_app</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>try:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>ctx.push()</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>response = self.full_dispatch_request()</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>except Exception as e:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>error = e</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>response = self.handle_exception(e)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>except:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>error = sys.exc_info()[1]</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>raise</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>return response(environ, start_response)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>finally:</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984456\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/app.py\"</cite>,\n line <em class=\"line\">1741</em>,\n in <code class=\"function\">handle_exception</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span># if we want to repropagate the exception, we can attempt to</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span># raise it with the whole traceback in case we can do that</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span># (the function was actually called from the except part)</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span># otherwise, we just raise the error again</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>if exc_value is e:</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>reraise(exc_type, exc_value, tb)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>else:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>raise e</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>self.log_exception((exc_type, exc_value, tb))</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>if handler is None:</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984400\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/_compat.py\"</cite>,\n line <em class=\"line\">35</em>,\n in <code class=\"function\">reraise</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>from io import StringIO</pre>\n<pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>def reraise(tp, value, tb=None):</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>if value.__traceback__ is not tb:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>raise value.with_traceback(tb)</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>raise value</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>implements_to_string = _identity</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"></span>else:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>text_type = unicode</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361983896\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/app.py\"</cite>,\n line <em class=\"line\">2292</em>,\n in <code class=\"function\">wsgi_app</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>ctx = self.request_context(environ)</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>error = None</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>try:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>try:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>ctx.push()</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>response = self.full_dispatch_request()</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>except Exception as e:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>error = e</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>response = self.handle_exception(e)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>except:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>error = sys.exc_info()[1]</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984568\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/app.py\"</cite>,\n line <em class=\"line\">1815</em>,\n in <code class=\"function\">full_dispatch_request</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>request_started.send(self)</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>rv = self.preprocess_request()</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>if rv is None:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>rv = self.dispatch_request()</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>except Exception as e:</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>rv = self.handle_user_exception(e)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>return self.finalize_request(rv)</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>def finalize_request(self, rv, from_error_handler=False):</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>&quot;&quot;&quot;Given the return value from a view function this finalizes</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>the request by converting it into a response and invoking the</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984624\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/app.py\"</cite>,\n line <em class=\"line\">1718</em>,\n in <code class=\"function\">handle_user_exception</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>return self.handle_http_exception(e)</pre>\n<pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>handler = self._find_error_handler(e)</pre>\n<pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>if handler is None:</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>reraise(exc_type, exc_value, tb)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>return handler(e)</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>def handle_exception(self, e):</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>&quot;&quot;&quot;Default exception handling that kicks in when an exception</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>occurs that is not caught. In debug mode the exception will</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984680\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/_compat.py\"</cite>,\n line <em class=\"line\">35</em>,\n in <code class=\"function\">reraise</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>from io import StringIO</pre>\n<pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>def reraise(tp, value, tb=None):</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>if value.__traceback__ is not tb:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>raise value.with_traceback(tb)</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>raise value</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>implements_to_string = _identity</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"></span>else:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>text_type = unicode</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984512\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/app.py\"</cite>,\n line <em class=\"line\">1813</em>,\n in <code class=\"function\">full_dispatch_request</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>self.try_trigger_before_first_request_functions()</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>try:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>request_started.send(self)</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>rv = self.preprocess_request()</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>if rv is None:</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>rv = self.dispatch_request()</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>except Exception as e:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>rv = self.handle_user_exception(e)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>return self.finalize_request(rv)</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>def finalize_request(self, rv, from_error_handler=False):</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984792\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/site-packages/flask/app.py\"</cite>,\n line <em class=\"line\">1799</em>,\n in <code class=\"function\">dispatch_request</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span># request came with the OPTIONS method, reply automatically</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>if getattr(rule, 'provide_automatic_options', False) \\</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>and req.method == 'OPTIONS':</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>return self.make_default_options_response()</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span># otherwise dispatch to the handler for that endpoint</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>return self.view_functions[rule.endpoint](**req.view_args)</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>def full_dispatch_request(self):</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>&quot;&quot;&quot;Dispatches the request and on top of that performs request</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>pre and postprocessing as well as HTTP exception catching and</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>error handling.</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984848\">\n <h4>File <cite class=\"filename\">\"/app/main.py\"</cite>,\n line <em class=\"line\">50</em>,\n in <code class=\"function\">save_log</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>return Longrun.stress_longrun(data)</pre>\n<pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"></span>@app.route(&quot;/logs/save&quot;, methods=[&quot;POST&quot;])</pre>\n<pre class=\"line before\"><span class=\"ws\"></span>def save_log():</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>data = json.loads(request.data)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>return SaveLog.savelog(data)</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre>\n<pre class=\"line after\"><span class=\"ws\"></span>@app.route(&quot;/env_handler/upgrade&quot;, methods=[&quot;PUT&quot;])</pre>\n<pre class=\"line after\"><span class=\"ws\"></span>def upgrade():</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984904\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/json/__init__.py\"</cite>,\n line <em class=\"line\">348</em>,\n in <code class=\"function\">loads</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>s = s.decode(detect_encoding(s), 'surrogatepass')</pre>\n<pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>if (cls is None and object_hook is None and</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>parse_int is None and parse_float is None and</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>parse_constant is None and object_pairs_hook is None and not kw):</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>return _default_decoder.decode(s)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>if cls is None:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>cls = JSONDecoder</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>if object_hook is not None:</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>kw['object_hook'] = object_hook</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>if object_pairs_hook is not None:</pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361984064\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/json/decoder.py\"</cite>,\n line <em class=\"line\">337</em>,\n in <code class=\"function\">decode</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"> </span>def decode(self, s, _w=WHITESPACE.match):</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>&quot;&quot;&quot;Return the Python representation of ``s`` (a ``str`` instance</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>containing a JSON document).</pre>\n<pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>&quot;&quot;&quot;</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>obj, end = self.raw_decode(s, idx=_w(s, 0).end())</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>end = _w(s, end).end()</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>if end != len(s):</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>raise JSONDecodeError(&quot;Extra data&quot;, s, end)</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>return obj</pre>\n<pre class=\"line after\"><span class=\"ws\"></span> </pre></div>\n</div>\n\n<li><div class=\"frame\" id=\"frame-139989361983840\">\n <h4>File <cite class=\"filename\">\"/usr/local/lib/python3.7/json/decoder.py\"</cite>,\n line <em class=\"line\">355</em>,\n in <code class=\"function\">raw_decode</code></h4>\n <div class=\"source\"><pre class=\"line before\"><span class=\"ws\"></span> </pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>&quot;&quot;&quot;</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>try:</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>obj, end = self.scan_once(s, idx)</pre>\n<pre class=\"line before\"><span class=\"ws\"> </span>except StopIteration as err:</pre>\n<pre class=\"line current\"><span class=\"ws\"> </span>raise JSONDecodeError(&quot;Expecting value&quot;, s, err.value) from None</pre>\n<pre class=\"line after\"><span class=\"ws\"> </span>return obj, end</pre></div>\n</div>\n</ul>\n <blockquote>json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)</blockquote>\n</div>\n\n<div class=\"plain\">\n <form action=\"/?__debugger__=yes&amp;cmd=paste\" method=\"post\">\n <p>\n <input type=\"hidden\" name=\"language\" value=\"pytb\">\n This is the Copy/Paste friendly version of the traceback. <span\n class=\"pastemessage\">You can also paste this traceback into\n a <a href=\"https://gist.github.com/\">gist</a>:\n <input type=\"submit\" value=\"create paste\"></span>\n </p>\n <textarea cols=\"50\" rows=\"10\" name=\"code\" readonly>Traceback (most recent call last):\n File &quot;/usr/local/lib/python3.7/site-packages/flask/app.py&quot;, line 2309, in __call__\n return self.wsgi_app(environ, start_response)\n File &quot;/usr/local/lib/python3.7/site-packages/flask/app.py&quot;, line 2295, in wsgi_app\n response = self.handle_exception(e)\n File &quot;/usr/local/lib/python3.7/site-packages/flask/app.py&quot;, line 1741, in handle_exception\n reraise(exc_type, exc_value, tb)\n File &quot;/usr/local/lib/python3.7/site-packages/flask/_compat.py&quot;, line 35, in reraise\n raise value\n File &quot;/usr/local/lib/python3.7/site-packages/flask/app.py&quot;, line 2292, in wsgi_app\n response = self.full_dispatch_request()\n File &quot;/usr/local/lib/python3.7/site-packages/flask/app.py&quot;, line 1815, in full_dispatch_request\n rv = self.handle_user_exception(e)\n File &quot;/usr/local/lib/python3.7/site-packages/flask/app.py&quot;, line 1718, in handle_user_exception\n reraise(exc_type, exc_value, tb)\n File &quot;/usr/local/lib/python3.7/site-packages/flask/_compat.py&quot;, line 35, in reraise\n raise value\n File &quot;/usr/local/lib/python3.7/site-packages/flask/app.py&quot;, line 1813, in full_dispatch_request\n rv = self.dispatch_request()\n File &quot;/usr/local/lib/python3.7/site-packages/flask/app.py&quot;, line 1799, in dispatch_request\n return self.view_functions[rule.endpoint](**req.view_args)\n File &quot;/app/main.py&quot;, line 50, in save_log\n data = json.loads(request.data)\n File &quot;/usr/local/lib/python3.7/json/__init__.py&quot;, line 348, in loads\n return _default_decoder.decode(s)\n File &quot;/usr/local/lib/python3.7/json/decoder.py&quot;, line 337, in decode\n obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n File &quot;/usr/local/lib/python3.7/json/decoder.py&quot;, line 355, in raw_decode\n raise JSONDecodeError(&quot;Expecting value&quot;, s, err.value) from None\njson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)</textarea>\n </form>\n</div>\n<div class=\"explanation\">\n The debugger caught an exception in your WSGI application. You can now\n look at the traceback which led to the error. <span class=\"nojavascript\">\n If you enable JavaScript you can also use additional features such as code\n execution (if the evalex feature is enabled), automatic pasting of the\n exceptions and much more.</span>\n</div>\n <div class=\"footer\">\n Brought to you by <strong class=\"arthur\">DON'T PANIC</strong>, your\n friendly Werkzeug powered traceback interpreter.\n </div>\n </div>\n\n <div class=\"pin-prompt\">\n <div class=\"inner\">\n <h3>Console Locked</h3>\n <p>\n The console is locked and needs to be unlocked by entering the PIN.\n You can find the PIN printed out on the standard output of your\n shell that runs the server.\n <form>\n <p>PIN:\n <input type=text name=pin size=14>\n <input type=submit name=btn value=\"Confirm Pin\">\n </form>\n </div>\n </div>\n </body>\n</html>\n\n<!--\n\nTraceback (most recent call last):\n File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 2309, in __call__\n return self.wsgi_app(environ, start_response)\n File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 2295, in wsgi_app\n response = self.handle_exception(e)\n File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1741, in handle_exception\n reraise(exc_type, exc_value, tb)\n File \"/usr/local/lib/python3.7/site-packages/flask/_compat.py\", line 35, in reraise\n raise value\n File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 2292, in wsgi_app\n response = self.full_dispatch_request()\n File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1815, in full_dispatch_request\n rv = self.handle_user_exception(e)\n File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1718, in handle_user_exception\n reraise(exc_type, exc_value, tb)\n File \"/usr/local/lib/python3.7/site-packages/flask/_compat.py\", line 35, in reraise\n raise value\n File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1813, in full_dispatch_request\n rv = self.dispatch_request()\n File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1799, in dispatch_request\n return self.view_functions[rule.endpoint](**req.view_args)\n File \"/app/main.py\", line 50, in save_log\n data = json.loads(request.data)\n File \"/usr/local/lib/python3.7/json/__init__.py\", line 348, in loads\n return _default_decoder.decode(s)\n File \"/usr/local/lib/python3.7/json/decoder.py\", line 337, in decode\n obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n File \"/usr/local/lib/python3.7/json/decoder.py\", line 355, in raw_decode\n raise JSONDecodeError(\"Expecting value\", s, err.value) from None\njson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)\n\n-->\n"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment