From: Adam S. <ada...@gm...> - 2018-02-07 20:51:46
|
I'm hoping someone else has seen this issue and is able to help me. I have search all over the internet for a solution and haven't been able to find one. I am trying to run Valgrind on armv7 architecture, and after compiling Valgrind and getting it onto the target I am able to run Valgrind successfully on 'ls -l' but when I run Valgrind on my executable it starts and then always fails after printing out this error: ==2333== Unsupported clone() flags: 0x800600 ==2333== ==2333== The only supported clone() uses are: ==2333== - via a threads library (LinuxThreads or NPTL) ==2333== - via the implementation of fork or vfork ==2333== ==2333== Valgrind detected that your program requires ==2333== the following unimplemented functionality: ==2333== Valgrind does not support general clone(). ==2333== This may be because the functionality is hard to implement, ==2333== or because no reasonable program would behave this way, ==2333== or because nobody has yet needed it. In any case, let us know at ==2333== www.valgrind.org and/or try to work around the problem, if you can. ==2333== ==2333== Valgrind has to exit now. Sorry. Bye! ==2333== sched status: running_tid=9 The thread that has the crash has the following stack: Thread 9: status = VgTs_Runnable (lwpid 2354) ==2333== at 0x6C5BCC: sys_clone (linux_syscall_support.h:2666) ==2333== by 0x6C5BCC: google_breakpad::ExceptionHandler::GenerateDump(google_breakpad::ExceptionHandler::CrashContext*) (exception_handler.cc:527) ==2333== by 0x6C60C3: google_breakpad::ExceptionHandler::SignalHandler(int, siginfo_t*, void*) (exception_handler.cc:368) ==2333== by 0x4CE5ACF: ??? (in /lib/libc-2.22.so) |
From: Philippe W. <phi...@sk...> - 2018-02-07 21:03:58
|
Which version are you using ? Some improvements to clone handling was done in 3.13 : * On Linux, clone handling has been improved to honour CLONE_VFORK that involves a child stack. Note however that CLONE_VFORK | CLONE_VM is handled like CLONE_VFORK (by removing CLONE_VM), so applications that depend on CLONE_VM exact semantics will (still) not work. Otherwise, I am sure we have still a bunch of clone related bugs opened. E.g. https://bugs.kde.org/show_bug.cgi?id=183406 and https://bugs.kde.org/show_bug.cgi?id=386427 which has a patch, and might be what you have encountered. Philippe On Wed, 2018-02-07 at 14:51 -0600, Adam Scott wrote: > I'm hoping someone else has seen this issue and is able to help me. I have search all over the internet for a solution and haven't been able to find one. I am trying to run Valgrind on armv7 architecture, and after compiling Valgrind and getting it onto the target I am able to run Valgrind successfully on 'ls -l' but when I run Valgrind on my executable it starts and then always fails after printing out this error: > > ==2333== Unsupported clone() flags: 0x800600 > ==2333== > ==2333== The only supported clone() uses are: > ==2333== - via a threads library (LinuxThreads or NPTL) > ==2333== - via the implementation of fork or vfork > ==2333== > ==2333== Valgrind detected that your program requires > ==2333== the following unimplemented functionality: > ==2333== Valgrind does not support general clone(). > ==2333== This may be because the functionality is hard to implement, > ==2333== or because no reasonable program would behave this way, > ==2333== or because nobody has yet needed it. In any case, let us know at > ==2333== www.valgrind.org and/or try to work around the problem, if you can. > ==2333== > ==2333== Valgrind has to exit now. Sorry. Bye! > ==2333== > > sched status: > running_tid=9 > > The thread that has the crash has the following stack: > Thread 9: status = VgTs_Runnable (lwpid 2354) > ==2333== at 0x6C5BCC: sys_clone (linux_syscall_support.h:2666) > ==2333== by 0x6C5BCC: google_breakpad::ExceptionHandler::GenerateDump(google_breakpad::ExceptionHandler::CrashContext*) (exception_handler.cc:527) > ==2333== by 0x6C60C3: google_breakpad::ExceptionHandler::SignalHandler(int, siginfo_t*, void*) (exception_handler.cc:368) > ==2333== by 0x4CE5ACF: ??? (in /lib/libc-2.22.so) > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users |
From: Adam S. <ada...@gm...> - 2018-02-07 21:16:20
|
I am using the latest version 3.13. I will pull down that patch and try it out. On Wed, Feb 7, 2018 at 3:03 PM, Philippe Waroquiers < phi...@sk...> wrote: > Which version are you using ? > Some improvements to clone handling was done in 3.13 : > * On Linux, clone handling has been improved to honour CLONE_VFORK that > involves a child stack. Note however that CLONE_VFORK | CLONE_VM is > handled > like CLONE_VFORK (by removing CLONE_VM), so applications that depend on > CLONE_VM exact semantics will (still) not work. > > Otherwise, I am sure we have still a bunch of clone related bugs > opened. E.g. https://bugs.kde.org/show_bug.cgi?id=183406 > and https://bugs.kde.org/show_bug.cgi?id=386427 which has > a patch, and might be what you have encountered. > > Philippe > > > On Wed, 2018-02-07 at 14:51 -0600, Adam Scott wrote: > > I'm hoping someone else has seen this issue and is able to help me. I > have search all over the internet for a solution and haven't been able to > find one. I am trying to run Valgrind on armv7 architecture, and after > compiling Valgrind and getting it onto the target I am able to run Valgrind > successfully on 'ls -l' but when I run Valgrind on my executable it starts > and then always fails after printing out this error: > > > > ==2333== Unsupported clone() flags: 0x800600 > > ==2333== > > ==2333== The only supported clone() uses are: > > ==2333== - via a threads library (LinuxThreads or NPTL) > > ==2333== - via the implementation of fork or vfork > > ==2333== > > ==2333== Valgrind detected that your program requires > > ==2333== the following unimplemented functionality: > > ==2333== Valgrind does not support general clone(). > > ==2333== This may be because the functionality is hard to implement, > > ==2333== or because no reasonable program would behave this way, > > ==2333== or because nobody has yet needed it. In any case, let us know > at > > ==2333== www.valgrind.org and/or try to work around the problem, if you > can. > > ==2333== > > ==2333== Valgrind has to exit now. Sorry. Bye! > > ==2333== > > > > sched status: > > running_tid=9 > > > > The thread that has the crash has the following stack: > > Thread 9: status = VgTs_Runnable (lwpid 2354) > > ==2333== at 0x6C5BCC: sys_clone (linux_syscall_support.h:2666) > > ==2333== by 0x6C5BCC: google_breakpad::ExceptionHandler:: > GenerateDump(google_breakpad::ExceptionHandler::CrashContext*) > (exception_handler.cc:527) > > ==2333== by 0x6C60C3: google_breakpad::ExceptionHandler::SignalHandler(int, > siginfo_t*, void*) (exception_handler.cc:368) > > ==2333== by 0x4CE5ACF: ??? (in /lib/libc-2.22.so) > > ------------------------------------------------------------ > ------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > _______________________________________________ > > Valgrind-users mailing list > > Val...@li... > > https://lists.sourceforge.net/lists/listinfo/valgrind-users > |
From: Adam S. <ada...@gm...> - 2018-02-07 21:25:33
|
Even with the patches from that bug the error still occurred. On Wed, Feb 7, 2018 at 3:16 PM, Adam Scott <ada...@gm...> wrote: > I am using the latest version 3.13. I will pull down that patch and try it > out. > > On Wed, Feb 7, 2018 at 3:03 PM, Philippe Waroquiers < > phi...@sk...> wrote: > >> Which version are you using ? >> Some improvements to clone handling was done in 3.13 : >> * On Linux, clone handling has been improved to honour CLONE_VFORK that >> involves a child stack. Note however that CLONE_VFORK | CLONE_VM is >> handled >> like CLONE_VFORK (by removing CLONE_VM), so applications that depend on >> CLONE_VM exact semantics will (still) not work. >> >> Otherwise, I am sure we have still a bunch of clone related bugs >> opened. E.g. https://bugs.kde.org/show_bug.cgi?id=183406 >> and https://bugs.kde.org/show_bug.cgi?id=386427 which has >> a patch, and might be what you have encountered. >> >> Philippe >> >> >> On Wed, 2018-02-07 at 14:51 -0600, Adam Scott wrote: >> > I'm hoping someone else has seen this issue and is able to help me. I >> have search all over the internet for a solution and haven't been able to >> find one. I am trying to run Valgrind on armv7 architecture, and after >> compiling Valgrind and getting it onto the target I am able to run Valgrind >> successfully on 'ls -l' but when I run Valgrind on my executable it starts >> and then always fails after printing out this error: >> > >> > ==2333== Unsupported clone() flags: 0x800600 >> > ==2333== >> > ==2333== The only supported clone() uses are: >> > ==2333== - via a threads library (LinuxThreads or NPTL) >> > ==2333== - via the implementation of fork or vfork >> > ==2333== >> > ==2333== Valgrind detected that your program requires >> > ==2333== the following unimplemented functionality: >> > ==2333== Valgrind does not support general clone(). >> > ==2333== This may be because the functionality is hard to implement, >> > ==2333== or because no reasonable program would behave this way, >> > ==2333== or because nobody has yet needed it. In any case, let us know >> at >> > ==2333== www.valgrind.org and/or try to work around the problem, if >> you can. >> > ==2333== >> > ==2333== Valgrind has to exit now. Sorry. Bye! >> > ==2333== >> > >> > sched status: >> > running_tid=9 >> > >> > The thread that has the crash has the following stack: >> > Thread 9: status = VgTs_Runnable (lwpid 2354) >> > ==2333== at 0x6C5BCC: sys_clone (linux_syscall_support.h:2666) >> > ==2333== by 0x6C5BCC: google_breakpad::ExceptionHand >> ler::GenerateDump(google_breakpad::ExceptionHandler::CrashContext*) >> (exception_handler.cc:527) >> > ==2333== by 0x6C60C3: google_breakpad::ExceptionHandler::SignalHandler(int, >> siginfo_t*, void*) (exception_handler.cc:368) >> > ==2333== by 0x4CE5ACF: ??? (in /lib/libc-2.22.so) >> > ------------------------------------------------------------ >> ------------------ >> > Check out the vibrant tech community on one of the world's most >> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> > _______________________________________________ >> > Valgrind-users mailing list >> > Val...@li... >> > https://lists.sourceforge.net/lists/listinfo/valgrind-users >> > > |
From: Philippe W. <phi...@sk...> - 2018-02-07 21:31:54
|
On Wed, 2018-02-07 at 15:25 -0600, Adam Scott wrote: > Even with the patches from that bug the error still occurred. Ouch. Bad luck. As I understand from the stack trace, the valgrind crash happens somewhere inside google breakpad, which is itself a crash reporter ? If this is correct, it might be worth trying to see what is the reason of the crash reporter starting up ? And maybe you could disable this crash reporter ? (otherwise, it would be useful to add some info in the bug report references, with the details of your crash, just in case someone looks further on these clone handling limitations. Philippe |
From: Tom H. <to...@co...> - 2018-02-07 21:29:42
|
If I'm reading that right it is coming from the breakpad exception handler which I can well believe is using clone with some odd flag set to do some crazy stuff. Of course if you've got there then the process is already dead anyway so I'm not sure how much it matters? Tom On 07/02/18 21:25, Adam Scott wrote: > Even with the patches from that bug the error still occurred. > > On Wed, Feb 7, 2018 at 3:16 PM, Adam Scott <ada...@gm... > <mailto:ada...@gm...>> wrote: > > I am using the latest version 3.13. I will pull down that patch and > try it out. > > On Wed, Feb 7, 2018 at 3:03 PM, Philippe Waroquiers > <phi...@sk... > <mailto:phi...@sk...>> wrote: > > Which version are you using ? > Some improvements to clone handling was done in 3.13 : > * On Linux, clone handling has been improved to honour > CLONE_VFORK that > involves a child stack. Note however that CLONE_VFORK | > CLONE_VM is handled > like CLONE_VFORK (by removing CLONE_VM), so applications that > depend on > CLONE_VM exact semantics will (still) not work. > > Otherwise, I am sure we have still a bunch of clone related bugs > opened. E.g. https://bugs.kde.org/show_bug.cgi?id=183406 > <https://bugs.kde.org/show_bug.cgi?id=183406> > and https://bugs.kde.org/show_bug.cgi?id=386427 > <https://bugs.kde.org/show_bug.cgi?id=386427> which has > a patch, and might be what you have encountered. > > Philippe > > > On Wed, 2018-02-07 at 14:51 -0600, Adam Scott wrote: > > I'm hoping someone else has seen this issue and is able to > help me. I have search all over the internet for a solution and > haven't been able to find one. I am trying to run Valgrind on > armv7 architecture, and after compiling Valgrind and getting it > onto the target I am able to run Valgrind successfully on 'ls > -l' but when I run Valgrind on my executable it starts and then > always fails after printing out this error: > > > > ==2333== Unsupported clone() flags: 0x800600 > > ==2333== > > ==2333== The only supported clone() uses are: > > ==2333== - via a threads library (LinuxThreads or NPTL) > > ==2333== - via the implementation of fork or vfork > > ==2333== > > ==2333== Valgrind detected that your program requires > > ==2333== the following unimplemented functionality: > > ==2333== Valgrind does not support general clone(). > > ==2333== This may be because the functionality is hard to > implement, > > ==2333== or because no reasonable program would behave this way, > > ==2333== or because nobody has yet needed it. In any case, > let us know at > > ==2333== www.valgrind.org <http://www.valgrind.org> and/or > try to work around the problem, if you can. > > ==2333== > > ==2333== Valgrind has to exit now. Sorry. Bye! > > ==2333== > > > > sched status: > > running_tid=9 > > > > The thread that has the crash has the following stack: > > Thread 9: status = VgTs_Runnable (lwpid 2354) > > ==2333== at 0x6C5BCC: sys_clone (linux_syscall_support.h:2666) > > ==2333== by 0x6C5BCC: > google_breakpad::ExceptionHandler::GenerateDump(google_breakpad::ExceptionHandler::CrashContext*) > (exception_handler.cc:527) > > ==2333== by 0x6C60C3: > google_breakpad::ExceptionHandler::SignalHandler(int, > siginfo_t*, void*) (exception_handler.cc:368) > > ==2333== by 0x4CE5ACF: ??? (in /lib/libc-2.22.so > <http://libc-2.22.so>) > > > ------------------------------------------------------------------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > _______________________________________________ > > Valgrind-users mailing list > > Val...@li... > <mailto:Val...@li...> > > https://lists.sourceforge.net/lists/listinfo/valgrind-users > <https://lists.sourceforge.net/lists/listinfo/valgrind-users> > > > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users > -- Tom Hughes (to...@co...) http://compton.nu/ |
From: Adam S. <ada...@gm...> - 2018-02-07 21:32:29
|
That's a good point. The application runs fine on its own though. It is just when run inside Valgrind that there is a problem. On Wed, Feb 7, 2018 at 3:29 PM, Tom Hughes <to...@co...> wrote: > If I'm reading that right it is coming from the breakpad exception handler > which I can well believe is using clone with some odd flag set to do some > crazy stuff. > > Of course if you've got there then the process is already dead anyway so > I'm not sure how much it matters? > > Tom > > On 07/02/18 21:25, Adam Scott wrote: > >> Even with the patches from that bug the error still occurred. >> >> On Wed, Feb 7, 2018 at 3:16 PM, Adam Scott <ada...@gm... <mailto: >> ada...@gm...>> wrote: >> >> I am using the latest version 3.13. I will pull down that patch and >> try it out. >> >> On Wed, Feb 7, 2018 at 3:03 PM, Philippe Waroquiers >> <phi...@sk... >> <mailto:phi...@sk...>> wrote: >> >> Which version are you using ? >> Some improvements to clone handling was done in 3.13 : >> * On Linux, clone handling has been improved to honour >> CLONE_VFORK that >> involves a child stack. Note however that CLONE_VFORK | >> CLONE_VM is handled >> like CLONE_VFORK (by removing CLONE_VM), so applications that >> depend on >> CLONE_VM exact semantics will (still) not work. >> >> Otherwise, I am sure we have still a bunch of clone related bugs >> opened. E.g. https://bugs.kde.org/show_bug.cgi?id=183406 >> <https://bugs.kde.org/show_bug.cgi?id=183406> >> and https://bugs.kde.org/show_bug.cgi?id=386427 >> <https://bugs.kde.org/show_bug.cgi?id=386427> which has >> a patch, and might be what you have encountered. >> >> Philippe >> >> >> On Wed, 2018-02-07 at 14:51 -0600, Adam Scott wrote: >> > I'm hoping someone else has seen this issue and is able to >> help me. I have search all over the internet for a solution and >> haven't been able to find one. I am trying to run Valgrind on >> armv7 architecture, and after compiling Valgrind and getting it >> onto the target I am able to run Valgrind successfully on 'ls >> -l' but when I run Valgrind on my executable it starts and then >> always fails after printing out this error: >> > >> > ==2333== Unsupported clone() flags: 0x800600 >> > ==2333== >> > ==2333== The only supported clone() uses are: >> > ==2333== - via a threads library (LinuxThreads or NPTL) >> > ==2333== - via the implementation of fork or vfork >> > ==2333== >> > ==2333== Valgrind detected that your program requires >> > ==2333== the following unimplemented functionality: >> > ==2333== Valgrind does not support general clone(). >> > ==2333== This may be because the functionality is hard to >> implement, >> > ==2333== or because no reasonable program would behave this >> way, >> > ==2333== or because nobody has yet needed it. In any case, >> let us know at >> > ==2333== www.valgrind.org <http://www.valgrind.org> and/or >> try to work around the problem, if you can. >> > ==2333== >> > ==2333== Valgrind has to exit now. Sorry. Bye! >> > ==2333== >> > >> > sched status: >> > running_tid=9 >> > >> > The thread that has the crash has the following stack: >> > Thread 9: status = VgTs_Runnable (lwpid 2354) >> > ==2333== at 0x6C5BCC: sys_clone >> (linux_syscall_support.h:2666) >> > ==2333== by 0x6C5BCC: >> google_breakpad::ExceptionHandler::GenerateDump(google_ >> breakpad::ExceptionHandler::CrashContext*) >> (exception_handler.cc:527) >> > ==2333== by 0x6C60C3: >> google_breakpad::ExceptionHandler::SignalHandler(int, >> siginfo_t*, void*) (exception_handler.cc:368) >> > ==2333== by 0x4CE5ACF: ??? (in /lib/libc-2.22.so >> <http://libc-2.22.so>) >> > >> ------------------------------------------------------------ >> ------------------ >> > Check out the vibrant tech community on one of the world's most >> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> > _______________________________________________ >> > Valgrind-users mailing list >> > Val...@li... >> <mailto:Val...@li...> >> > https://lists.sourceforge.net/lists/listinfo/valgrind-users >> <https://lists.sourceforge.net/lists/listinfo/valgrind-users> >> >> >> >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> >> >> >> _______________________________________________ >> Valgrind-users mailing list >> Val...@li... >> https://lists.sourceforge.net/lists/listinfo/valgrind-users >> >> > > -- > Tom Hughes (to...@co...) > http://compton.nu/ > |
From: John R. <jr...@bi...> - 2018-02-07 23:28:53
|
> when I run Valgrind on my executable it starts and then always fails after printing out this error: > Thread 9: status = VgTs_Runnable (lwpid 2354) > ==2333== at 0x6C5BCC: sys_clone (linux_syscall_support.h:2666) > ==2333== by 0x6C5BCC: google_breakpad::ExceptionHandler::GenerateDump(google_breakpad::ExceptionHandler::CrashContext*) (exception_handler.cc:527) > ==2333== by 0x6C60C3: google_breakpad::ExceptionHandler::SignalHandler(int, siginfo_t*, void*) (exception_handler.cc:368) > ==2333== by 0x4CE5ACF: ??? (in /lib/libc-2.22.so <http://libc-2.22.so>) There is a good chance that the combination of the app and Android does not behave in the way that valgrind expects a process to behave. Android does not necessarily have the same behavior as Linux, and the differences can lead to SIGSEGV, etc. Run the whole thing (your app under valgrind) under the Android equivalent of 'strace', and pay particular attention to the layout of the address space (mmap, etc.) Also turn on --trace-syscalls=yes and --trace-signals=yes and -v -v -v to see what valgrind is up to. |