fengggli / comanche Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ibm/comanche
comanche
License: Apache License 2.0
This project forked from ibm/comanche
comanche
License: Apache License 2.0
File operations:
*remove file
*append to file
Capture system call
systemutils
fio test
Intercept
Previously I had tried to use newer dpdk(fengggli/dpdk#1), but failed
This happens sometime if I didn' exit dpdk application peacefully.
(py36) lifen@sievert(:):~/Workspace/comanche/build$./src/components/block/nvme/unit_test/blocknvme-test1 20:00.0 │[ +0.000002] mcas: exposure added (pid=7788, token=feeb, paddr=79f400000, size=4194304)
[==========] Running 3 tests from 1 test case. │[ +0.000000] walk result: 79f400000
[----------] Global test environment set-up. │[ +0.000008] mcas: mmap called --------------------
[----------] 3 tests from Block_nvme_test │[ +0.000001] mcas: mmap flags=fb token=feeb
[ RUN ] Block_nvme_test.InstantiateBlockDevice │[ +0.000001] mcas: mmap remapping (79f400000,4194304)
rte_virtio_pmd_init(): IOPL call failed - cannot use virtio PMD │[ +0.000001] mcas: vm_start=700000000 vm_end=700400000 delta=4194304
[LOG]:Using API defined memory limit 48 MB │[ +0.000019] mcas: mmap OK
[LOG]:CPU count: 24 │[ +2.088501] mcas: vm_close
EAL: No free hugepages reported in hugepages-1048576kB │[ +0.000010] mcas: ioctl (9) (arg=7fffa0bbeef0)
EAL: Couldn't get fd on hugepage file │[ +0.000001] mcas: calling remove_exposure
EAL: FATAL: Cannot init memory │[ +0.000000] mcas: remove_exposure (token=feeb)
│[ +0.000001] mcas: removed exposure feeb
EAL: Cannot init memory │(py36) lifen@sievert(:):~/Workspace/comanche$ls /dev/
│Display all 223 possibilities? (y or n)
Exception:API error │(py36) lifen@sievert(:):~/Workspace/comanche$ls /dev/ -alt|grep huge
Trace/breakpoint trap (core dumped)
sudo apt-get install linux-generic
After upgrading dpdk/spdk, the src/lib/core unit test failed.
Debug output
(base) fengggli@ribbit5(:):~/WorkSpace/comanche/build$gdb ./src/lib/core/unit_test/core-test1
GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./src/lib/core/unit_test/core-test1...done.
(gdb) r
Starting program: /home/fengggli/WorkSpace/comanche/build/src/lib/core/unit_test/core-test1
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[==========] Running 3 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 3 tests from Core_test
[ RUN ] Core_test.DPDKInit
[LOG]:Using API defined memory limit 32 MB
[LOG]:CPU count: 48
[New Thread 0x7ffff53f1700 (LWP 47948)]
[New Thread 0x7ffff4bf0700 (LWP 47949)]
EAL: No available hugepages reported in hugepages-1048576kB
...
...
[LOG]:##- freeing DPDK memory: 0x1011e5000
Thread 1 "core-test1" received signal SIGSEGV, Segmentation fault.
0x00007ffff6f06898 in malloc_heap_free (elem=<optimized out>)
at /home/fengggli/WorkSpace/comanche/src/lib/dpdk/dpdk-19.05/lib/librte_eal/common/malloc_heap.c:888
888 if (tmp->flags & RTE_MEMSEG_FLAG_DO_NOT_FREE) {
(gdb) bt
#0 0x00007ffff6f06898 in malloc_heap_free (elem=<optimized out>)
at /home/fengggli/WorkSpace/comanche/src/lib/dpdk/dpdk-19.05/lib/librte_eal/common/malloc_heap.c:888
#1 0x00007ffff6f0079c in rte_free (addr=addr@entry=0x1011e5000)
at /home/fengggli/WorkSpace/comanche/src/lib/dpdk/dpdk-19.05/lib/librte_eal/common/rte_malloc.c:34
#2 0x00007ffff74843df in Core::Physical_memory::free_io_buffer (this=<optimized out>, io_mem=4313731072)
at /home/fengggli/WorkSpace/comanche/src/lib/core/src/physical_memory.cpp:118
#3 0x000055555555ea37 in (anonymous namespace)::Core_test_MemoryAllocation_Test::TestBody (this=<optimized out>)
at /home/fengggli/WorkSpace/comanche/src/lib/core/unit_test/test1.cpp:64
#4 0x00005555555890f1 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#5 0x0000555555583097 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#6 0x00005555555668d6 in testing::Test::Run() ()
#7 0x000055555556720c in testing::TestInfo::Run() ()
#8 0x0000555555567896 in testing::TestCase::Run() ()
#9 0x000055555556e762 in testing::internal::UnitTestImpl::RunAllTests() ()
#10 0x000055555558a2b7 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#11 0x0000555555583ed3 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#12 0x000055555556d326 in testing::UnitTest::Run() ()
#13 0x000055555555c2ef in RUN_ALL_TESTS () at /usr/local/include/gtest/gtest.h:2233
#14 main (argc=<optimized out>, argv=<optimized out>)
at /home/fengggli/WorkSpace/comanche/src/lib/core/unit_test/test1.cpp:104
This tracks how I could use hstore
The code is in https://github.com/fengggli/comanche/tree/mapping-for-clem
There is a readme file(how to prepare, build and test)at src/components/store/nvmestore/testing/mcas-nvmestore/README.md
Tracks the progress of dawn integration and exception handling
Call stack
src/main.cpp -> Dawn::Shard_launcher -> multiple Dawn::Shards.
memory
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.