-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Update README w/ Linux/Mac info #8
Conversation
Added blurb about using build_support/packages.sh to set up packages on Linux/Mac
README.md
Outdated
@@ -7,6 +7,10 @@ | |||
BusTub is a relational database management system built at [Carnegie Mellon University](https://db.cs.cmu.edu) for the [Introduction to Database Systems](https://15445.courses.cs.cmu.edu) (15-445/645) course. This system was developed for educational purposes and should not be used in production environments. | |||
|
|||
## Build | |||
|
|||
#### Linux / Mac |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
###
instead of ####
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change section nesting depth?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
FIXME: LRUReplacerTest still failed by AddressSanitizer:DEADLYSIGNAL. $ ctest -R 'LRUReplacerTest' --output-on-failure Test project /Users/unknowntpo/repo/unknowntpo/bustub/build Start 31: LRUReplacerTest.SampleTest 1/1 Test cmu-db#31: LRUReplacerTest.SampleTest .......Subprocess aborted***Exception: 0.18 sec Running main() from gmock_main.cc Note: Google Test filter = LRUReplacerTest.SampleTest [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from LRUReplacerTest [ RUN ] LRUReplacerTest.SampleTest 2023-06-16 16:00:47 [lru_replacer.cpp:59:Unpin] INFO - hello 2023-06-16 16:00:47 [lru_replacer.cpp:72:Unpin] INFO - Unpin is called for frame_id: 1 2023-06-16 16:00:47 [lru_replacer.cpp:59:Unpin] INFO - hello 2023-06-16 16:00:47 [lru_replacer.cpp:72:Unpin] INFO - Unpin is called for frame_id: 2 2023-06-16 16:00:47 [lru_replacer.cpp:59:Unpin] INFO - hello 2023-06-16 16:00:47 [lru_replacer.cpp:72:Unpin] INFO - Unpin is called for frame_id: 3 2023-06-16 16:00:47 [lru_replacer.cpp:59:Unpin] INFO - hello 2023-06-16 16:00:47 [lru_replacer.cpp:72:Unpin] INFO - Unpin is called for frame_id: 4 2023-06-16 16:00:47 [lru_replacer.cpp:59:Unpin] INFO - hello 2023-06-16 16:00:47 [lru_replacer.cpp:72:Unpin] INFO - Unpin is called for frame_id: 5 2023-06-16 16:00:47 [lru_replacer.cpp:59:Unpin] INFO - hello 2023-06-16 16:00:47 [lru_replacer.cpp:72:Unpin] INFO - Unpin is called for frame_id: 6 2023-06-16 16:00:47 [lru_replacer.cpp:59:Unpin] INFO - hello 2023-06-16 16:00:47 [lru_replacer.cpp:72:Unpin] INFO - Unpin is called for frame_id: 1 2023-06-16 16:00:47 [lru_replacer.cpp:39:Victim] INFO - iter_count: 0 2023-06-16 16:00:47 [lru_replacer.cpp:39:Victim] INFO - iter_count: 0 2023-06-16 16:00:47 [lru_replacer.cpp:39:Victim] INFO - iter_count: 0 2023-06-16 16:00:47 [lru_replacer.cpp:48:Pin] INFO - Pin is called for frame_id: 3 2023-06-16 16:00:47 [lru_replacer.cpp:55:Pin] WARN - Pin is called with non-exist frame_id: 3 2023-06-16 16:00:47 [lru_replacer.cpp:48:Pin] INFO - Pin is called for frame_id: 4 AddressSanitizer:DEADLYSIGNAL ================================================================= ==79229==ERROR: AddressSanitizer: SEGV on unknown address 0x00000104f02c (pc 0x000102816328 bp 0x00016d5f8fd0 sp 0x00016d5f8b80 T0) ==79229==The signal is caused by a UNKNOWN memory access. #0 0x102816328 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> >, void*>*>, bool> std::__1::__hash_table<std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> >, std::__1::__unordered_map_hasher<int, std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> >, std::__1::hash<int>, std::__1::equal_to<int>, true>, std::__1::__unordered_map_equal<int, std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> >, std::__1::equal_to<int>, std::__1::hash<int>, true>, std::__1::allocator<std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> > > >::__emplace_unique_key_args<int, std::__1::piecewise_construct_t const&, std::__1::tuple<int const&>, std::__1::tuple<> >(int const&, std::__1::piecewise_construct_t const&, std::__1::tuple<int const&>&&, std::__1::tuple<>&&) __hash_table:2083 cmu-db#1 0x10280f548 in std::__1::unordered_map<int, std::__1::__list_iterator<bustub::node, void*>, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int const, std::__1::__list_iterator<bustub::node, void*> > > >::operator[](int const&) unordered_map:1743 cmu-db#2 0x10280ec04 in bustub::LRUReplacer::Pin(int) lru_replacer.cpp:53 cmu-db#3 0x102806af0 in bustub::LRUReplacerTest_SampleTest_Test::TestBody() lru_replacer_test.cpp:47 cmu-db#4 0x102863f3c in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2657 cmu-db#5 0x102863810 in testing::Test::Run() gtest.cc:2674 cmu-db#6 0x1028660b0 in testing::TestInfo::Run() gtest.cc:2853 cmu-db#7 0x102869044 in testing::TestSuite::Run() gtest.cc:3012 cmu-db#8 0x10288d304 in testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5870 cmu-db#9 0x10288c6e4 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2657 cmu-db#10 0x10288bed4 in testing::UnitTest::Run() gtest.cc:5444 cmu-db#11 0x102929cd0 in RUN_ALL_TESTS() gtest.h:2293 cmu-db#12 0x102929c2c in main gmock_main.cc:70 cmu-db#13 0x1a564be4c (<unknown module>) ==79229==Register values: x[0] = 0x0000000104c016c1 x[1] = 0x0000000000000004 x[2] = 0x000000010298dcc0 x[3] = 0x000000016d5f9020 x[4] = 0x000000016d5f9040 x[5] = 0x000000016d5f9160 x[6] = 0x000000016d5f93b0 x[7] = 0x0000000000002900 x[8] = 0xc00000000104f02c x[9] = 0xc00000000104f02c x[10] = 0x0000000000000001 x[11] = 0x000000702dadf178 x[12] = 0x000000016d5f8b88 x[13] = 0x000000016d5f8b80 x[14] = 0x000000016d5f8e20 x[15] = 0x0000000000000000 x[16] = 0x000000010280f380 x[17] = 0x000000010302c5d0 x[18] = 0x0000000000000000 x[19] = 0x000000016d5f8c80 x[20] = 0x0000000102929aa0 x[21] = 0x0000000102bedc60 x[22] = 0x000000016d5fb050 x[23] = 0x00000001a56c1000 x[24] = 0x00000002011e3340 x[25] = 0x0000000000000000 x[26] = 0x0000000000000000 x[27] = 0x0000000000000000 x[28] = 0x0000000000000000 fp = 0x000000016d5f8fd0 lr = 0x00000001028162b8 sp = 0x000000016d5f8b80 AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV __hash_table:2083 in std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> >, void*>*>, bool> std::__1::__hash_table<std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> >, std::__1::__unordered_map_hasher<int, std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> >, std::__1::hash<int>, std::__1::equal_to<int>, true>, std::__1::__unordered_map_equal<int, std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> >, std::__1::equal_to<int>, std::__1::hash<int>, true>, std::__1::allocator<std::__1::__hash_value_type<int, std::__1::__list_iterator<bustub::node, void*> > > >::__emplace_unique_key_args<int, std::__1::piecewise_construct_t const&, std::__1::tuple<int const&>, std::__1::tuple<> >(int const&, std::__1::piecewise_construct_t const&, std::__1::tuple<int const&>&&, std::__1::tuple<>&&) ==79229==ABORTING 0% tests passed, 1 tests failed out of 1 Total Test time (real) = 0.20 sec The following tests FAILED: 31 - LRUReplacerTest.SampleTest (Subprocess aborted) Errors while running CTest
FIXME: Why buffer overflow Test project /Users/unknowntpo/repo/unknowntpo/bustub/build Start 30: LRUKReplacerTest.SampleTest 1/1 Test cmu-db#30: LRUKReplacerTest.SampleTest ......Subprocess aborted***Exception: 0.19 sec Running main() from gmock_main.cc Note: Google Test filter = LRUKReplacerTest.SampleTest [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from LRUKReplacerTest [ RUN ] LRUKReplacerTest.SampleTest 2023-07-20 09:40:59 [lru_k_replacer.cpp:61:RecordAccess] INFO - RecordAccess frame_id: 1 2023-07-20 09:40:59 [lru_k_replacer.cpp:61:RecordAccess] INFO - RecordAccess frame_id: 2 2023-07-20 09:40:59 [lru_k_replacer.cpp:61:RecordAccess] INFO - RecordAccess frame_id: 3 2023-07-20 09:40:59 [lru_k_replacer.cpp:61:RecordAccess] INFO - RecordAccess frame_id: 4 2023-07-20 09:40:59 [lru_k_replacer.cpp:61:RecordAccess] INFO - RecordAccess frame_id: 5 2023-07-20 09:40:59 [lru_k_replacer.cpp:61:RecordAccess] INFO - RecordAccess frame_id: 6 2023-07-20 09:40:59 [lru_k_replacer.cpp:87:SetEvictable] INFO - SetEvictable frame_id: 1 2023-07-20 09:40:59 [lru_k_replacer.cpp:87:SetEvictable] INFO - SetEvictable frame_id: 2 2023-07-20 09:40:59 [lru_k_replacer.cpp:87:SetEvictable] INFO - SetEvictable frame_id: 3 2023-07-20 09:40:59 [lru_k_replacer.cpp:87:SetEvictable] INFO - SetEvictable frame_id: 4 2023-07-20 09:40:59 [lru_k_replacer.cpp:87:SetEvictable] INFO - SetEvictable frame_id: 5 2023-07-20 09:40:59 [lru_k_replacer.cpp:87:SetEvictable] INFO - SetEvictable frame_id: 6 2023-07-20 09:40:59 [lru_k_replacer.cpp:109:Size] INFO - size is called 2023-07-20 09:40:59 [lru_k_replacer.cpp:61:RecordAccess] INFO - RecordAccess frame_id: 1 ================================================================= ==35330==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x00016d47c450 at pc 0x00010298ece4 bp 0x00016d47bd30 sp 0x00016d47bd28 READ of size 1 at 0x00016d47c450 thread T0 #0 0x10298ece0 in bustub::LRUKReplacer::Evict(int*) lru_k_replacer.cpp:33 cmu-db#1 0x1029837dc in bustub::LRUKReplacerTest_SampleTest_Test::TestBody() lru_k_replacer_test.cpp:44 cmu-db#2 0x1029e7140 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) g test.cc:2657 cmu-db#3 0x1029e6a14 in testing::Test::Run() gtest.cc:2674 cmu-db#4 0x1029e92b4 in testing::TestInfo::Run() gtest.cc:2853 cmu-db#5 0x1029ec248 in testing::TestSuite::Run() gtest.cc:3012 cmu-db#6 0x102a10508 in testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5870 cmu-db#7 0x102a0f8e8 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2657 cmu-db#8 0x102a0f0d8 in testing::UnitTest::Run() gtest.cc:5444 cmu-db#9 0x102aaced4 in RUN_ALL_TESTS() gtest.h:2293 cmu-db#10 0x102aace30 in main gmock_main.cc:70 cmu-db#11 0x19952be4c (<unknown module>) Address 0x00016d47c450 is located in stack of thread T0 at offset 176 in frame #0 0x102982d10 in bustub::LRUKReplacerTest_SampleTest_Test::TestBody() lru_k_replacer_test.cpp:19
Added blurb about using build_support/packages.sh to set up packages on Linux/Mac