File:  [NetBSD Developer Wiki] / wikisrc / users / leot / aarch64_problems.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Mon Jun 18 12:42:27 2018 UTC (3 years, 3 months ago) by leot
Branches: MAIN
CVS tags: HEAD
Code blocks syntax is 4 spaces or 1 tab, not four `!

    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: ## `usbhidctl` and NetBSD crashes on Pinebook
    8: 
    9: At least by running:
   10: 
   11:     # usbhidctl -f uhid4 -r
   12: 
   13: it is possible to crash the Pinebook. Investigate why and if possible get a
   14: complete backtrace.
   15: 
   16: 
   17: ## `mpv` and NetBSD crashes
   18: Just by invoking `mpv` via:
   19: 
   20:     $ mpv
   21: 
   22: It is possible to completely crash NetBSD on aarch64. Investigate why and if
   23: possible get a complete backtrace.
   24: 
   25: (Is it PaX MPROTECT related?)
   26: 
   27: 
   28: ## Python `import requests` SIGILLs
   29: Doing a (please note that also `python36` is affected):
   30: 
   31:     $ python2.7 -c 'import requests'
   32:     Illegal instruction (core dumped)
   33:     Exit 132
   34: 
   35: leads to a SIGILL. Trying to reduce the test case this also happens with just a:
   36: 
   37:     $ python2.7 -c 'import OpenSSL'
   38:     Illegal instruction (core dumped)
   39:     Exit 132
   40: 
   41: Trying to debug this a bit further we can see:
   42: 
   43:     % cat asi.py
   44:     import OpenSSL
   45:     % python2.7 -m trace --trace asi.py
   46:     [...]
   47:     binding.py(88):     for attr in dir(lib):
   48:     binding.py(89):         if attr not in excluded_names:
   49:     binding.py(90):             setattr(conditional_lib, attr, getattr(lib, attr))
   50:     binding.py(88):     for attr in dir(lib):
   51:     binding.py(89):         if attr not in excluded_names:
   52:     binding.py(90):             setattr(conditional_lib, attr, getattr(lib, attr))
   53:     binding.py(88):     for attr in dir(lib):
   54:     binding.py(89):         if attr not in excluded_names:
   55:     binding.py(90):             setattr(conditional_lib, attr, getattr(lib, attr))
   56:     binding.py(88):     for attr in dir(lib):
   57:     binding.py(92):     return conditional_lib
   58:     binding.py(126):                 cls._lib_loaded = True
   59:     binding.py(128):                 cls.lib.SSL_library_init()
   60:     Illegal instruction (core dumped)
   61:     Exit 132

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