mongodb-labs / disasm

Interactive Disassembler GUI - This Repository is NOT a supported MongoDB product
Apache License 2.0
247 stars 20 forks source link

AttributeError: 'NoneType' object has no attribute 'iter_symbols' #2

Open dobin opened 7 years ago

dobin commented 7 years ago

I installed the current version, but when uploading a 64 bit ELF file (/bin/bash), or any other file, i get the following error:

(disasm) dobin@minime:~/Development/disasm$ python app/app.py
/home/dobin/.virtualenvs/disasm/local/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.script is deprecated, use flask_script instead.
  .format(x=modname), ExtDeprecationWarning
 * Running on http://127.0.0.1:8000/ (Press CTRL+C to quit)
 * Restarting with stat
...

127.0.0.1 - - [31/Aug/2016 19:42:15] "GET /functions?filename=41999504-6fa2-11e6-9282-a434d9937ce5 HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home/dobin/.virtualenvs/disasm/lib/python2.7/site-packages/flask/app.py", line 2000, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/dobin/.virtualenvs/disasm/lib/python2.7/site-packages/flask/app.py", line 1991, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/dobin/.virtualenvs/disasm/lib/python2.7/site-packages/flask/app.py", line 1567, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/dobin/.virtualenvs/disasm/lib/python2.7/site-packages/flask/app.py", line 1988, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/dobin/.virtualenvs/disasm/lib/python2.7/site-packages/flask/app.py", line 1641, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/dobin/.virtualenvs/disasm/lib/python2.7/site-packages/flask/app.py", line 1544, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/dobin/.virtualenvs/disasm/lib/python2.7/site-packages/flask/app.py", line 1639, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/dobin/.virtualenvs/disasm/lib/python2.7/site-packages/flask/app.py", line 1625, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/dobin/Development/disasm/app/app.py", line 237, in functions
    load_functions(filename)
  File "/home/dobin/Development/disasm/app/app.py", line 216, in load_functions
    functions = executables.get(filename).get_all_functions()
  File "/home/dobin/Development/disasm/app/executable.py", line 109, in get_all_functions
    function_syms = self.get_function_syms()
  File "/home/dobin/Development/disasm/app/executable.py", line 131, in get_function_syms
    function_syms = list(filter(lambda sym: sym["st_info"]["type"] == "STT_FUNC", symtab.iter_symbols()))
AttributeError: 'NoneType' object has no attribute 'iter_symbols'
dobin@minime:~$ uname -a
Linux minime 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
dobin@minime:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
dobin@minime:~$ 
dorothychen commented 7 years ago

Thank you for the bug report! Can you do me a favor and print the output of readelf -S /bin/bash? It looks like the app can't find the symbol table of the bash executable.