File:  [NetBSD Developer Wiki] / wikisrc / users / leot / aarch64_problems.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Mon Jun 18 12:30:36 2018 UTC (3 years, 4 months ago) by leot
Branches: MAIN
CVS tags: HEAD
Add a wiki page with some aarch64/Pinebook problems that needs further
investigations.

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

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