Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

会产生core #2

Open
GoogleCodeExporter opened this issue Jan 4, 2016 · 1 comment
Open

会产生core #2

GoogleCodeExporter opened this issue Jan 4, 2016 · 1 comment

Comments

@GoogleCodeExporter
Copy link

基于 gcc4.8, gtest1.6测试会产生core

$ ./test_attach                                                                 

[/home/google/bhook-1.0.0/test/unittest/simple]
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from MyLib
[ RUN      ] MyLib.case1
test_attach.cpp:26: Failure
Value of: ret
  Actual: -1
Expected: 1
[  FAILED  ] MyLib.case1 (10 ms)
[ RUN      ] MyLib.case2
[mylib.cpp][16] str:cmd2
[       OK ] MyLib.case2 (0 ms)
[----------] 2 tests from MyLib (10 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran. (10 ms total)
[  PASSED  ] 1 test.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] MyLib.case1

 1 FAILED TEST
[1]    16010 segmentation fault (core dumped)  ./test_attach

Original issue reported on code.google.com by anwar.r...@gmail.com on 23 Jul 2013 at 7:53

@GoogleCodeExporter
Copy link
Author

通过gdb,应该是bhook和gtest 
结合时,gtest存在某种机制,当离开main函数时,收场,调用��
�bhook框架,导致两次free内存,导致!

(gdb) run
Starting program: /home/google/bhook-1.0.0/test/unittest/simple/test_enable 
warning: no loadable sections found in added symbol-file system-supplied DSO at 
0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, main (argc=1, argv=0x7fffffffe238) at test_enable.cpp:48
48              testing::InitGoogleTest(&argc, argv);
(gdb) n
50              testing::GTEST_FLAG(color) = "yes";
(gdb) 
52              attach_func_lib("func", (void *)my_func);
(gdb) 
[New Thread 0x7ffff5497700 (LWP 16050)]
54              return RUN_ALL_TESTS();
(gdb) 
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from MyLib
[ RUN      ] MyLib.case1
[=HOOK=] this is hook func
test_enable.cpp:35: Failure
Value of: ret
  Actual: -1
Expected: 1
[  FAILED  ] MyLib.case1 (1 ms)
[ RUN      ] MyLib.case2
[mylib.cpp][16] str:cmd2
[       OK ] MyLib.case2 (0 ms)
[----------] 2 tests from MyLib (1 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran. (1 ms total)
[  PASSED  ] 1 test.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] MyLib.case1

 1 FAILED TEST
55      }
(gdb) 
__libc_start_main (main=0x402f6c <main(int, char**)>, argc=1, 
ubp_av=0x7fffffffe238, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, 
    stack_end=0x7fffffffe228) at libc-start.c:294
294     libc-start.c: No such file or directory.
(gdb) 
*** Error in `/home/google/bhook-1.0.0/test/unittest/simple/test_enable': 
double free or corruption (out): 0x0000000000611550 ***
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
open: No such file or directory
read input error!
Program received signal SIGABRT, Aborted.
0x00007ffff63991e5 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) 

Original comment by anwar.r...@gmail.com on 23 Jul 2013 at 7:58

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant