|
From: Wuweijia <wuw...@hu...> - 2017-06-23 08:54:37
|
Hi, there are some progress I analyzed.
1: If function main is empty, it also failed. The code as below.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(int argc, char *argv[])
{
Return 0;
}
The compile cmd: gcc -g -O0 -m32 main.c
2: This static void final_tidyup(ThreadId tid) send the Vg_CoreClientReq cmd, and dh_handle_noninsn_write go the default branch. But In x86_64 mode, it never go the default branch.
It is very urgent now. Can you show me how to resolve it .
BR
Owen
发件人: Wuweijia
发送时间: 2017年6月23日 11:20
收件人: val...@li...
抄送: Fanbohao <fan...@hu...>
主题: Please check the dhat could run in the ELF32 mode in x86-64.
Hi: I compile the code in x86-64 machine, and run dhat . it is ok.
The compile cmd: gcc -g -O0 main.c
The dhat cmd valgrind tool=exp-dhat ./a.out
But I compile the same code in the same machine, but another compile cmd, and run dhat. It failed.
The compile cmd: gcc -g -O0 -m32 main.c
The dhat cmd valgrind tool=exp-dhat ./a.out
I just compile same code into ELF32 mode.
The output as below:
DHAT: dh_main.c:756 (dh_handle_noninsn_write): the 'impossible' happened.
host stacktrace:
==84382== at 0x3800C886: show_sched_status_wrk (m_libcassert.c:343)
==84382== by 0x3800C9C6: report_and_quit (m_libcassert.c:419)
==84382== by 0x3800CAEB: vgPlain_assert_fail (m_libcassert.c:485)
==84382== by 0x38008623: dh_handle_noninsn_write (dh_main.c:756)
==84382== by 0x38010558: final_tidyup (m_main.c:2798)
==84382== by 0x38010A54: shutdown_actions_NORETURN (m_main.c:2564)
==84382== by 0x38078E90: run_a_thread_NORETURN (syswrap-linux.c:199)
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable (lwpid 84382)
==84382== at 0x402452B: _vgnU_freeres (vg_preloaded.c:59)
==84382== by 0x2: ???
The valgrind version is 3.12.0
root@SZV1000161574:/usr1/code/source/test# gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
Does dhat support elf32 mode?
BR
Owen
|
|
From: Wuweijia <wuw...@hu...> - 2017-06-24 09:36:09
|
Any guy focus on this bug? There is still no answer now.
发件人: Wuweijia
发送时间: 2017年6月23日 16:54
收件人: 'val...@li...' <val...@li...>
抄送: Fanbohao <fan...@hu...>
主题: 答复: Please check the dhat could run in the ELF32 mode in x86-64.
Hi, there are some progress I analyzed.
1: If function main is empty, it also failed. The code as below.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(int argc, char *argv[])
{
Return 0;
}
The compile cmd: gcc -g -O0 -m32 main.c
2: This static void final_tidyup(ThreadId tid) send the Vg_CoreClientReq cmd, and dh_handle_noninsn_write go the default branch. But In x86_64 mode, it never go the default branch.
It is very urgent now. Can you show me how to resolve it .
BR
Owen
发件人: Wuweijia
发送时间: 2017年6月23日 11:20
收件人: val...@li...<mailto:val...@li...>
抄送: Fanbohao <fan...@hu...<mailto:fan...@hu...>>
主题: Please check the dhat could run in the ELF32 mode in x86-64.
Hi: I compile the code in x86-64 machine, and run dhat . it is ok.
The compile cmd: gcc -g -O0 main.c
The dhat cmd valgrind tool=exp-dhat ./a.out
But I compile the same code in the same machine, but another compile cmd, and run dhat. It failed.
The compile cmd: gcc -g -O0 -m32 main.c
The dhat cmd valgrind tool=exp-dhat ./a.out
I just compile same code into ELF32 mode.
The output as below:
DHAT: dh_main.c:756 (dh_handle_noninsn_write): the 'impossible' happened.
host stacktrace:
==84382== at 0x3800C886: show_sched_status_wrk (m_libcassert.c:343)
==84382== by 0x3800C9C6: report_and_quit (m_libcassert.c:419)
==84382== by 0x3800CAEB: vgPlain_assert_fail (m_libcassert.c:485)
==84382== by 0x38008623: dh_handle_noninsn_write (dh_main.c:756)
==84382== by 0x38010558: final_tidyup (m_main.c:2798)
==84382== by 0x38010A54: shutdown_actions_NORETURN (m_main.c:2564)
==84382== by 0x38078E90: run_a_thread_NORETURN (syswrap-linux.c:199)
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable (lwpid 84382)
==84382== at 0x402452B: _vgnU_freeres (vg_preloaded.c:59)
==84382== by 0x2: ???
The valgrind version is 3.12.0
root@SZV1000161574:/usr1/code/source/test# gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
Does dhat support elf32 mode?
BR
Owen
|
|
From: Philippe W. <phi...@sk...> - 2017-06-24 10:40:14
|
This looks like a bug related to running libc free resource hooks.
You can bypass the problem by giving the parameters:
--run-libc-freeres=no --run-cxx-freeres=no
Please file a bug on bugzilla.
Thanks
Philippe
On Sat, 2017-06-24 at 09:35 +0000, Wuweijia wrote:
> Any guy focus on this bug? There is still no answer now.
>
>
>
> 发件人: Wuweijia
> 发送时间: 2017年6月23日 16:54
> 收件人: 'val...@li...'
> <val...@li...>
> 抄送: Fanbohao <fan...@hu...>
> 主题: 答复: Please check the dhat could run in the ELF32 mode in
> x86-64.
>
>
>
>
> Hi, there are some progress I analyzed.
>
> 1: If function main is empty, it also failed. The code as below.
>
> #include <stdio.h>
>
> #include <stdlib.h>
>
> #include <string.h>
>
> #include <fcntl.h>
>
> #include <unistd.h>
>
> #include <sys/mman.h>
>
> #include <sys/types.h>
>
> #include <sys/stat.h>
>
>
>
> int main(int argc, char *argv[])
>
> {
>
> Return 0;
>
> }
>
>
>
> The compile cmd: gcc -g -O0 -m32main.c
>
>
>
>
>
> 2: This static void final_tidyup(ThreadId tid) send the
> Vg_CoreClientReq cmd, and dh_handle_noninsn_write go the default
> branch. But In x86_64 mode, it never go the default branch.
>
>
>
> It is very urgent now. Can you show me how to resolve it .
>
>
>
> BR
>
> Owen
>
>
>
>
>
>
>
> 发件人: Wuweijia
> 发送时间: 2017年6月23日 11:20
> 收件人: val...@li...
> 抄送: Fanbohao <fan...@hu...>
> 主题: Please check the dhat could run in the ELF32 mode in x86-64.
>
>
>
>
> Hi: I compile the code in x86-64 machine, and run dhat . it is ok.
>
> The compile cmd: gcc -g -O0 main.c
>
> The dhat cmd valgrind –tool=exp-dhat ./a.out
>
>
>
>
>
> But I compile the same code in the same machine, but another compile
> cmd, and run dhat. It failed.
>
> The compile cmd: gcc -g -O0 -m32main.c
>
> The dhat cmd valgrind –tool=exp-dhat ./a.out
>
>
>
> I just compile same code into ELF32 mode.
>
>
>
>
>
> The output as below:
>
> DHAT: dh_main.c:756 (dh_handle_noninsn_write): the 'impossible'
> happened.
>
>
>
> host stacktrace:
>
> ==84382== at 0x3800C886: show_sched_status_wrk (m_libcassert.c:343)
>
> ==84382== by 0x3800C9C6: report_and_quit (m_libcassert.c:419)
>
> ==84382== by 0x3800CAEB: vgPlain_assert_fail (m_libcassert.c:485)
>
> ==84382== by 0x38008623: dh_handle_noninsn_write (dh_main.c:756)
>
> ==84382== by 0x38010558: final_tidyup (m_main.c:2798)
>
> ==84382== by 0x38010A54: shutdown_actions_NORETURN (m_main.c:2564)
>
> ==84382== by 0x38078E90: run_a_thread_NORETURN
> (syswrap-linux.c:199)
>
>
>
> sched status:
>
> running_tid=1
>
>
>
> Thread 1: status = VgTs_Runnable (lwpid 84382)
>
> ==84382== at 0x402452B: _vgnU_freeres (vg_preloaded.c:59)
>
> ==84382== by 0x2: ???
>
>
>
>
>
> The valgrind version is 3.12.0
>
>
>
> root@SZV1000161574:/usr1/code/source/test# gcc --version
>
> gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
>
> Copyright (C) 2013 Free Software Foundation, Inc.
>
> This is free software; see the source for copying conditions. There
> is
>
>
>
>
>
> Does dhat support elf32 mode?
>
>
>
> BR
>
> Owen
>
>
>
>
> ------------------------------------------------------------------------------
> 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
|