spcl / serverless-benchmarks

SeBS: serverless benchmarking suite for automatic performance analysis of FaaS platforms.
https://mcopik.github.io/projects/sebs/
BSD 3-Clause "New" or "Revised" License
149 stars 67 forks source link

Internal Server error when Running 504.dna-visualisation #114

Closed jchigu closed 1 year ago

jchigu commented 1 year ago

(python-venv) jchigu@SEBS:~$ curl 172.17.0.3:9000 --request POST --data '{
"bucket": { "input": "504.dna-visualisation-0-input-35aeb712-65ba-4f", "output": "504.dna-visualisation-0-output-021dec84-5042-42" }, "object": { "key": "bacillus_subtilis.fasta" } }' --header 'Content-Type: application/json'

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
    <head>
        <title>Error: 500 Internal Server Error</title>
        <style type="text/css">
          html {background-color: #eee; font-family: sans;}
          body {background-color: #fff; border: 1px solid #ddd;
                padding: 15px; margin: 15px;}
          pre {background-color: #eee; border: 1px solid #ddd; padding: 5px;}
        </style>
    </head>
    <body>
        <h1>Error: 500 Internal Server Error</h1>
        <p>Sorry, the requested URL <tt>&#039;http://172.17.0.3:9000/&#039;</tt>
           caused an error:</p>
        <pre>Internal Server Error</pre>
          <h2>Exception:</h2>
          <pre>TypeError(&#039;an integer is required (got type NoneType)&#039;)</pre>
          <h2>Traceback:</h2>
          <pre>Traceback (most recent call last):

File "/usr/local/lib/python3.7/site-packages/bottle.py", line 868, in _handle return route.call(*args) File "/usr/local/lib/python3.7/site-packages/bottle.py", line 1748, in wrapper rv = callback(a, **ka) File "/sebs/server.py", line 17, in flush_log ret = function.handler(request.json) File "/function/function/function.py", line 9, in handler graph = igraph.Graph.Barabasi(size, 10) TypeError: an integer is required (got type NoneType) (python-venv) jchigu@SEBS:~$ curl 172.17.0.3:9000 --request POST -o testresult504dnavisualisation.json --data '{ "bucket": { "input": "504.dna-visualisation-0-input-35aeb712-65ba-4f", "output": "504.dna-visualisation-0-output-021dec84-5042-42" }, "object": { "key": "bacillus_subtilis.fasta" } }' --header 'Content-Type: application/json' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1704 100 1468 100 236 33116 5323 --:--:-- --:--:-- --:--:-- 48685 (python-venv) jchigu@SEBS:~$

mcopik commented 1 year ago

@jchigu The output indicates that you invoke one of the graph benchmarks (501, 502, 503) with the input for benchmark 504.

File "/function/function/function.py", line 9, in handler
graph = igraph.Graph.Barabasi(size, 10)
TypeError: an integer is required (got type NoneType)

While this is clearly an incorrect invocation, it demonstrates that our error messages could be slightly more clear. Thus, I opened a new ticket #118 to improve the error messages of SeBS - I hope that the future version will provide a more clear description that the function was invoked with incorrect input.