https://bugs.kde.org/show_bug.cgi?id=441615

            Bug ID: 441615
           Summary: Unsupported clone() flags: 0x1210900
           Product: valgrind
           Version: 3.15 SVN
          Platform: Android
                OS: Android 9.x
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: memcheck
          Assignee: jsew...@acm.org
          Reporter: yitu...@163.com
  Target Milestone: ---

I tried to compile valgrind (version 3.17.0) with aarch64-linux-android-gcc
(ndkr10c), and I was totally following the steps from README.android.

The compiling process was correct though, the Valgrind seeems crashed with
error information `Unsupported clone() flags: 0x1210900` (the full error
information is listed as below).

I also tested it in x86-64 platform, in which it works well.

In addition, I modified some part of valgrind according to ctgring in order to
test if a program is constant time. Therefore I tested pure valgrind with the
same program on the android platform, it also crashed with the same error
unfortunately.

Does anyone get the solution yet?

    $ valgrind ./a.out
    ==11685== Memcheck, a memory error detector
    ==11685== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
    ==11685== Using Valgrind-3.17.0 and LibVEX; rerun with -h for copyright
info
    ==11685== Command: ./a.out
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x40D1D9C: __dl_strchr (in /system/bin/linker64)
    ==11685==    by 0x40F8B53:
__dl__ZNK7android10properties16PropertyInfoArea22GetPropertyInfoIndexesEPKcPjS4_
(in /system/bin/linker64)
    ==11685==    by 0x40F5DBB:
__dl__ZN18ContextsSerialized18GetPropAreaForNameEPKc (in /system/bin/linker64)
    ==11685==    by 0x40E8BF7: __dl__ZN16SystemProperties4FindEPKc (in
/system/bin/linker64)
    ==11685==    by 0x4036B97:
__dl__ZN7android4base11GetPropertyERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES9_
(in /system/bin/linker64)
    ==11685==    by 0x402796F: __dl__ZN6Config23get_vndk_version_stringEc (in
/system/bin/linker64)
    ==11685==    by 0x401C0B3: __dl__Z23init_default_namespacesPKc (in
/system/bin/linker64)
    ==11685==    by 0x402B633: __dl___linker_init (in /system/bin/linker64)
    ==11685==    by 0x40320DF: __dl__start (in /system/bin/linker64)
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x40D1D9C: __dl_strchr (in /system/bin/linker64)
    ==11685==    by 0x40F652F:
__dl__ZN9prop_area13find_propertyEP7prop_btPKcjS3_jb (in /system/bin/linker64)
    ==11685==    by 0x4036B97:
__dl__ZN7android4base11GetPropertyERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES9_
(in /system/bin/linker64)
    ==11685==    by 0x402796F: __dl__ZN6Config23get_vndk_version_stringEc (in
/system/bin/linker64)
    ==11685==    by 0x401C0B3: __dl__Z23init_default_namespacesPKc (in
/system/bin/linker64)
    ==11685==    by 0x402B633: __dl___linker_init (in /system/bin/linker64)
    ==11685==    by 0x40320DF: __dl__start (in /system/bin/linker64)
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x40D2070: __dl_strlen (in /system/bin/linker64)
    ==11685==    by 0x40335C3: __dl_async_safe_write_log (in
/system/bin/linker64)
    ==11685==    by 0x403382B: __dl_async_safe_format_log (in
/system/bin/linker64)
    ==11685==    by 0x40168CB: __dl__ZN6soinfo13prelink_imageEv (in
/system/bin/linker64)
    ==11685==    by 0x4015C07:
__dl__Z14find_librariesP19android_namespace_tP6soinfoPKPKcmPS2_PNSt3__16vectorIS2_NS8_9allocatorIS2_EEEEmiPK17android_dlextinfobbPNS9_IS0_NSA_IS0_EEEE
(in /system/bin/linker64)
    ==11685==    by 0x402B7EF: __dl___linker_init (in /system/bin/linker64)
    ==11685==    by 0x40320DF: __dl__start (in /system/bin/linker64)
    ==11685==
    ==11685== Syscall param writev(vector) points to uninitialised byte(s)
    ==11685==    at 0x40DB968: __dl_writev (in /system/bin/linker64)
    ==11685==    by 0x40335DB: __dl_async_safe_write_log (in
/system/bin/linker64)
    ==11685==    by 0x403382B: __dl_async_safe_format_log (in
/system/bin/linker64)
    ==11685==    by 0x40168CB: __dl__ZN6soinfo13prelink_imageEv (in
/system/bin/linker64)
    ==11685==    by 0x4015C07:
__dl__Z14find_librariesP19android_namespace_tP6soinfoPKPKcmPS2_PNSt3__16vectorIS2_NS8_9allocatorIS2_EEEEmiPK17android_dlextinfobbPNS9_IS0_NSA_IS0_EEEE
(in /system/bin/linker64)
    ==11685==    by 0x402B7EF: __dl___linker_init (in /system/bin/linker64)
    ==11685==    by 0x40320DF: __dl__start (in /system/bin/linker64)
    ==11685==  Address 0x1ffeffe990 is on thread 1's stack
    ==11685==  in frame #1, created by __dl_async_safe_write_log (???:)
    ==11685==
    WARNING: linker: Warning:
"/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/vgpreload_core-arm64-linux.so"
has unsupported flags DT_FLAGS_1=0x421 (ignoring unsupported flags)
    WARNING: linker: Warning:
"/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/vgpreload_memcheck-arm64-linux.so"
has unsupported flags DT_FLAGS_1=0x421 (ignoring unsupported flags)
    ==11685== Source and destination overlap in memcpy(0x4baf768, 0x4baf768,
104)
    ==11685==    at 0x4A62F60: memcpy (vg_replace_strmem.c:1051)
    ==11685==    by 0x4B625E3: ??? (in /system/lib64/libc.so)
    ==11685==
    ==11685== Invalid read of size 16
    ==11685==    at 0x4ABBD78: ??? (in /system/lib64/libc.so)
    ==11685==  Address 0x4c4aba0 is 16 bytes before a block of size 4,096
alloc'd
    ==11685==    at 0x4A5AA48: malloc (vg_replace_malloc.c:380)
    ==11685==    by 0x4B15A6B: ??? (in /system/lib64/libc.so)
    ==11685==
    ==11685== Invalid read of size 8
    ==11685==    at 0x4B51DF4: ??? (in /system/lib64/libc.so)
    ==11685==  Address 0x4c00260 is not stack'd, malloc'd or (recently) free'd
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x40D2000: __dl_strlen (in /system/bin/linker64)
    ==11685==    by 0x4032667:
__dl__ZL11out_vformatI18BufferOutputStreamEvRT_PKcSt9__va_list (in
/system/bin/linker64)
    ==11685==    by 0x4032B7F: __dl_async_safe_format_buffer (in
/system/bin/linker64)
    ==11685==    by 0x4033F5F: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x4032688:
__dl__ZL11out_vformatI18BufferOutputStreamEvRT_PKcSt9__va_list (in
/system/bin/linker64)
    ==11685==    by 0x4032B7F: __dl_async_safe_format_buffer (in
/system/bin/linker64)
    ==11685==    by 0x4033F5F: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x4032740:
__dl__ZL11out_vformatI18BufferOutputStreamEvRT_PKcSt9__va_list (in
/system/bin/linker64)
    ==11685==    by 0x4032B7F: __dl_async_safe_format_buffer (in
/system/bin/linker64)
    ==11685==    by 0x4033F5F: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x40D1540: __dl_memcpy (in /system/bin/linker64)
    ==11685==    by 0x403278B:
__dl__ZL11out_vformatI18BufferOutputStreamEvRT_PKcSt9__va_list (in
/system/bin/linker64)
    ==11685==    by 0x4032B7F: __dl_async_safe_format_buffer (in
/system/bin/linker64)
    ==11685==    by 0x4033F5F: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x40D1584: __dl_memcpy (in /system/bin/linker64)
    ==11685==    by 0x403278B:
__dl__ZL11out_vformatI18BufferOutputStreamEvRT_PKcSt9__va_list (in
/system/bin/linker64)
    ==11685==    by 0x4032B7F: __dl_async_safe_format_buffer (in
/system/bin/linker64)
    ==11685==    by 0x4033F5F: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Use of uninitialised value of size 8
    ==11685==    at 0x40D158C: __dl_memcpy (in /system/bin/linker64)
    ==11685==    by 0x403278B:
__dl__ZL11out_vformatI18BufferOutputStreamEvRT_PKcSt9__va_list (in
/system/bin/linker64)
    ==11685==    by 0x4032B7F: __dl_async_safe_format_buffer (in
/system/bin/linker64)
    ==11685==    by 0x4033F5F: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Use of uninitialised value of size 8
    ==11685==    at 0x40D1594: __dl_memcpy (in /system/bin/linker64)
    ==11685==    by 0x403278B:
__dl__ZL11out_vformatI18BufferOutputStreamEvRT_PKcSt9__va_list (in
/system/bin/linker64)
    ==11685==    by 0x4032B7F: __dl_async_safe_format_buffer (in
/system/bin/linker64)
    ==11685==    by 0x4033F5F: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Use of uninitialised value of size 8
    ==11685==    at 0x4032798:
__dl__ZL11out_vformatI18BufferOutputStreamEvRT_PKcSt9__va_list (in
/system/bin/linker64)
    ==11685==    by 0x4032B7F: __dl_async_safe_format_buffer (in
/system/bin/linker64)
    ==11685==    by 0x4033F5F: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Conditional jump or move depends on uninitialised value(s)
    ==11685==    at 0x40D2070: __dl_strlen (in /system/bin/linker64)
    ==11685==    by 0x40335C3: __dl_async_safe_write_log (in
/system/bin/linker64)
    ==11685==    by 0x403382B: __dl_async_safe_format_log (in
/system/bin/linker64)
    ==11685==    by 0x4034043: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==
    ==11685== Syscall param writev(vector) points to uninitialised byte(s)
    ==11685==    at 0x40DB968: __dl_writev (in /system/bin/linker64)
    ==11685==    by 0x40335DB: __dl_async_safe_write_log (in
/system/bin/linker64)
    ==11685==    by 0x403382B: __dl_async_safe_format_log (in
/system/bin/linker64)
    ==11685==    by 0x4034043: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)
    ==11685==  Address 0x4143b50 is on thread 1's stack
    ==11685==  in frame #1, created by __dl_async_safe_write_log (???:)
    ==11685==
    ==11685== Unsupported clone() flags: 0x1210900
    ==11685==
    ==11685== The only supported clone() uses are:
    ==11685==  - via a threads library (LinuxThreads or NPTL)
    ==11685==  - via the implementation of fork or vfork
    ==11685==
    ==11685== Valgrind detected that your program requires
    ==11685== the following unimplemented functionality:
    ==11685==    Valgrind does not support general clone().
    ==11685== This may be because the functionality is hard to implement,
    ==11685== or because no reasonable program would behave this way,
    ==11685== or because nobody has yet needed it.  In any case, let us know at
    ==11685== www.valgrind.org and/or try to work around the problem, if you
can.
    ==11685==
    ==11685== Valgrind has to exit now.  Sorry.  Bye!
    ==11685==

    sched status:
      running_tid=1

    Thread 1: status = VgTs_Runnable syscall 220 (lwpid 11685)
    ==11685==    at 0x40E899C: __dl___bionic_clone (in /system/bin/linker64)
    ==11685==    by 0x40D3297: __dl_clone (in /system/bin/linker64)
    ==11685==    by 0x40340CB: __dl__ZL24debuggerd_signal_handleriP7siginfoPv
(in /system/bin/linker64)
    ==11685==    by 0x4C6DBF: ??? (in
/data/local/tmp/security-check/constant-time/valgrind-ctgrind-android-out/libexec/valgrind/memcheck-arm64-linux)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to