Diff for /wikisrc/users/leot/aarch64_problems.mdwn between versions 1.8 and 1.10

version 1.8, 2018/07/24 00:09:53 version 1.10, 2018/07/29 10:59:29
Line 7  investigation in order to write proper P Line 7  investigation in order to write proper P
 ## `mpv` and NetBSD crashes  ## `mpv` and NetBSD crashes
 Just by invoking `mpv` via:  Just by invoking `mpv` via:
   
     $ mpv      % mpv
   
 It is possible to completely crash NetBSD on aarch64. Investigate why and if  It SEGV as follows:
 possible get a complete backtrace.  
   
 (Is it PaX MPROTECT related?)      % mpv
       /usr/pkg/lib/ffmpeg4/libavcodec.so.58: text relocations
       mpv 0.29.0 Copyright © 2000-2018 mpv/MPlayer/mplayer2 projects
        built on Sat Jul 28 21:02:57 CEST 2018
       ffmpeg library versions:
          libavutil       56.14.100
          libavcodec      58.18.100
          libavformat     58.12.100
          libswscale      5.1.100
          libavfilter     7.16.100
          libswresample   3.1.100
       ffmpeg version: 4.0.2
       
       Usage:   mpv [options] [url|path/]filename
       
       Basic options:
        --start=<time>    seek to given (percent, seconds, or hh:mm:ss) position
        --no-audio        do not play sound
        --no-video        do not play video
        --fs              fullscreen playback
        --sub-file=<file> specify subtitle file to use
        --playlist=<file> specify playlist file
       
        --list-options    list all mpv options
        --h=<string>      print options which contain the given string in their name
       
       [1]   Segmentation fault (core dumped) /usr/pkg/bin/mpv...
       % gdb -core mpv.core /usr/pkg/bin/mpv
       Reading symbols from /usr/pkg/bin/mpv...done.
       [New process 5]
       [New process 6]
       [New process 4]
       [New process 3]
       [New process 2]
       [New process 1]
       Core was generated by `mpv'.
       Program terminated with signal SIGSEGV, Segmentation fault.
       #0  0x0000f96f727f40b0 in memcpy () from /usr/lib/libc.so.12
       [Current thread is 1 (process 5)]
       (gdb) bt
       #0  0x0000f96f727f40b0 in memcpy () from /usr/lib/libc.so.12
       #1  0x00000002001cba34 in __memcpy_ichk (len=18446744073709551615, src=0xf96f6e10fec0, dst=<optimized out>)
           at /usr/include/ssp/string.h:82
       #2  strndup_append_at (str=str@entry=0xf96f6f4ff348, at=0, append=0xf96f6e10fec0 "speed", append_len=<optimized out>,
           append_len@entry=18446744073709551615) at ../ta/ta_utils.c:113
       #3  0x00000002001cbea4 in ta_strdup_append_buffer (str=str@entry=0xf96f6f4ff348, a=<optimized out>) at ../ta/ta_utils.c:165
       #4  0x00000002001cb7b8 in ta_talloc_strdup_append_buffer (s=<optimized out>, s@entry=0x0, a=<optimized out>) at ../ta/ta_talloc.c:31
       #5  0x0000000200157eec in print_str_list (opt=<optimized out>, src=<optimized out>) at ../options/m_option.c:1477
       #6  0x000000020015db90 in m_option_print (val_ptr=0xf96f6f4ff3c0, opt=0xf96f6f4ff430) at ../options/m_option.h:496
       #7  m_property_do (log=0xf96f71045130, prop_list=0xf96f71081040, name=name@entry=0xf96f6e139218 "property-list",
           action=action@entry=6, arg=arg@entry=0xf96f6f4ff598, ctx=ctx@entry=0xf96f71011040) at ../options/m_property.c:127
       #8  0x000000020016f9f8 in mp_property_do_silent (name=0xf96f6e139218 "property-list", action=6, val=0xf96f6f4ff598, ctx=0xf96f71011040)
           at ../player/command.c:4167
       #9  0x0000000200171014 in mp_property_do (name=0xf96f6e139218 "property-list", action=action@entry=6, val=<optimized out>,
           val@entry=0xf96f6f4ff5c8, ctx=0xf96f71011040) at ../player/command.c:4177
       #10 0x00000002001637bc in getproperty_fn (arg=0xf96f6f4ff5d8, arg@entry=0xf96f6f4ff5e8) at ../player/client.c:1261
       #11 0x00000002001655b0 in run_locked (fn_data=0xf96f6f4ff5e8, fn=0x200163648 <getproperty_fn>, ctx=0xf96f6f5071c0)
           at ../player/client.c:1003
       #12 mpv_get_property (ctx=0xf96f6f5071c0, name=name@entry=0xf96f6e139218 "property-list", format=format@entry=MPV_FORMAT_STRING,
           data=data@entry=0xf96f6f4ff668) at ../player/client.c:1335
       #13 0x0000000200179b4c in script_get_property (L=0xf96f6e103400) at ../player/lua.c:794
       #14 0x0000f96f72b2cb80 in luaD_precall () from /usr/pkg/lib/liblua5.2.so.5
       #15 0x0000f96f72b3877c in luaV_execute () from /usr/pkg/lib/liblua5.2.so.5
       #16 0x0000f96f72b2cf04 in luaD_call () from /usr/pkg/lib/liblua5.2.so.5
       #17 0x0000f96f72b28e40 in lua_callk () from /usr/pkg/lib/liblua5.2.so.5
       #18 0x0000000200178270 in load_builtin (L=0xf96f6e103400) at ../player/lua.c:214
       #19 0x0000f96f72b2cb80 in luaD_precall () from /usr/pkg/lib/liblua5.2.so.5
       #20 0x0000f96f72b2cef8 in luaD_call () from /usr/pkg/lib/liblua5.2.so.5
       #21 0x0000f96f72b28e40 in lua_callk () from /usr/pkg/lib/liblua5.2.so.5
       #22 0x0000f96f72b43900 in ll_require () from /usr/pkg/lib/liblua5.2.so.5
       #23 0x0000f96f72b2cb80 in luaD_precall () from /usr/pkg/lib/liblua5.2.so.5
       ---Type <return> to continue, or q <return> to quit---
       #24 0x0000f96f72b3877c in luaV_execute () from /usr/pkg/lib/liblua5.2.so.5
       #25 0x0000f96f72b2cf04 in luaD_call () from /usr/pkg/lib/liblua5.2.so.5
       #26 0x0000f96f72b28e40 in lua_callk () from /usr/pkg/lib/liblua5.2.so.5
       #27 0x0000000200179524 in require (L=L@entry=0xf96f6e103400, name=name@entry=0xf96f6f503420 "@stats.lua") at ../player/lua.c:232
       #28 0x000000020017963c in load_scripts (L=0xf96f6e103400) at ../player/lua.c:260
       #29 0x0000f96f72b2cb80 in luaD_precall () from /usr/pkg/lib/liblua5.2.so.5
       #30 0x0000f96f72b2cef8 in luaD_call () from /usr/pkg/lib/liblua5.2.so.5
       #31 0x0000f96f72b2c4b8 in luaD_rawrunprotected () from /usr/pkg/lib/liblua5.2.so.5
       #32 0x0000f96f72b2d19c in luaD_pcall () from /usr/pkg/lib/liblua5.2.so.5
       #33 0x0000f96f72b28f14 in lua_pcallk () from /usr/pkg/lib/liblua5.2.so.5
       #34 0x000000020017b020 in run_lua (L=0xf96f6e103400) at ../player/lua.c:354
       #35 0x0000f96f72b2cb80 in luaD_precall () from /usr/pkg/lib/liblua5.2.so.5
       #36 0x0000f96f72b2cef8 in luaD_call () from /usr/pkg/lib/liblua5.2.so.5
       #37 0x0000f96f72b2c4b8 in luaD_rawrunprotected () from /usr/pkg/lib/liblua5.2.so.5
       #38 0x0000f96f72b2d19c in luaD_pcall () from /usr/pkg/lib/liblua5.2.so.5
       #39 0x0000f96f72b28f14 in lua_pcallk () from /usr/pkg/lib/liblua5.2.so.5
       #40 0x000000020017b4c8 in mp_cpcall (func=0x20017abd0 <run_lua>, ud=0xf96f6e1010c0, L=0xf96f6e103400) at ../player/lua.c:99
       #41 load_lua (client=<optimized out>, fname=0xf96f6f503420 "@stats.lua") at ../player/lua.c:387
       #42 0x00000002001815c0 in script_thread (p=0xf96f6f5050c0) at ../player/scripting.c:95
       #43 0x0000f96f743ec588 in pthread__create_tramp (cookie=0xf96f6f515000) at /usr/src/lib/libpthread/pthread.c:593
       #44 0x0000f96f727385ec in _lwp_makecontext (u=0x0, start=0x0, arg=0x0, private=0xff00000014,
           stack_base=0x1 <error: Cannot access memory at address 0x1>, stack_size=8589934592) at /usr/src/lib/libc/arch/aarch64/gen/_lwp.c:47
       #45 0x0000f96f743df000 in ?? ()
       #46 0x544a8f02d40034c1 in ?? ()
       Backtrace stopped: previous frame identical to this frame (corrupt stack?)
   
   
 ## Python `import requests` SIGILLs  ## Python `import requests` SIGILLs
Line 130  Doing a (please note that also `python36 Line 225  Doing a (please note that also `python36
     #define _cffi_save_errno                                                 \      #define _cffi_save_errno                                                 \
         ((void(*)(void))_cffi_exports[14])          ((void(*)(void))_cffi_exports[14])
   
 The following patch workaround the issue:  Since py-cffi-1.11.5nb1 a kludge to workaround the issue is present (by
   disabling __thread).
     $NetBSD: aarch64_problems.mdwn,v 1.7 2018/07/23 22:51:09 leot Exp $  
       
     Kludge for NetBSD/aarch64 SIGILL.  
       
     --- setup.py.orig   2018-02-27 18:15:41.000000000 +0000  
     +++ setup.py  
     @@ -70,7 +70,7 @@ def ask_supports_thread():  
          ok = (sys.platform != 'win32' and  
                config.try_compile('__thread int some_threadlocal_variable_42;'))  
          if ok:  
     -        define_macros.append(('USE__THREAD', None))  
     +        pass  
          else:  
              ok1 = config.try_compile('int some_regular_variable_42;')  
              if not ok1:  
   
   
 ## polkitd crashes  ## polkitd crashes

Removed from v.1.8  
changed lines
  Added in v.1.10


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