File:  [NetBSD Developer Wiki] / wikisrc / users / leot / aarch64_problems.mdwn
Revision 1.4: download - view: text, annotated - select for diffs
Thu Jun 28 09:10:49 2018 UTC (3 years, 3 months ago) by leot
Branches: MAIN
CVS tags: HEAD
Add a note that `ssl' module works.

    1: # Various (possible) problems of aarch64
    2: 
    3: Here a list of possible problems of NetBSD/evbarm aarch64 that needs further
    4: investigation in order to write proper PR or better yet to fix them!
    5: 
    6: 
    7: ## `mpv` and NetBSD crashes
    8: Just by invoking `mpv` via:
    9: 
   10:     $ mpv
   11: 
   12: It is possible to completely crash NetBSD on aarch64. Investigate why and if
   13: possible get a complete backtrace.
   14: 
   15: (Is it PaX MPROTECT related?)
   16: 
   17: 
   18: ## Python `import requests` SIGILLs
   19: Doing a (please note that also `python36` is affected):
   20: 
   21:     $ python2.7 -c 'import requests'
   22:     Illegal instruction (core dumped)
   23:     Exit 132
   24: 
   25: leads to a SIGILL. Trying to reduce the test case this also happens with just a:
   26: 
   27:     $ python2.7 -c 'import OpenSSL'
   28:     Illegal instruction (core dumped)
   29:     Exit 132
   30: 
   31: Trying to debug this a bit further we can see:
   32: 
   33:     % cat asi.py
   34:     import OpenSSL
   35:     % python2.7 -m trace --trace asi.py
   36:     [...]
   37:     binding.py(88):     for attr in dir(lib):
   38:     binding.py(89):         if attr not in excluded_names:
   39:     binding.py(90):             setattr(conditional_lib, attr, getattr(lib, attr))
   40:     binding.py(88):     for attr in dir(lib):
   41:     binding.py(89):         if attr not in excluded_names:
   42:     binding.py(90):             setattr(conditional_lib, attr, getattr(lib, attr))
   43:     binding.py(88):     for attr in dir(lib):
   44:     binding.py(89):         if attr not in excluded_names:
   45:     binding.py(90):             setattr(conditional_lib, attr, getattr(lib, attr))
   46:     binding.py(88):     for attr in dir(lib):
   47:     binding.py(92):     return conditional_lib
   48:     binding.py(126):                 cls._lib_loaded = True
   49:     binding.py(128):                 cls.lib.SSL_library_init()
   50:     Illegal instruction (core dumped)
   51:     Exit 132
   52: 
   53: Please also note that this problem seems limited to `OpenSSL`, `ssl` module
   54: works.

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb