view user/matac42/notes/2023/08/14.md @ 132:f89d9ffb6458

backup 2023-08-15
author autobackup
date Tue, 15 Aug 2023 00:10:03 +0900
parents
children
line wrap: on
line source

# 研究目的

## システム全体の信頼性を上げたい

- システムの構成要素全体の信頼性を上げる必要がある
  - アプリケーション
  - OS
  - ファイルシステム
  - DB
  - メモリとSSD
  - 分散ノード
  - ネットワーク

---

## Gears OSを使って実現する

- CodeGear
  - 処理の単位
- DataGear
  - データの単位
- metaGear
  - データの整合性
  - 資源管理

---

## 信頼性を上げる方法

- 証明
  - GearsAgdaを使ってinvariantを証明する
- テスト
- モデル検査
- システムの構成要素全体にこれらの方法を適用したい
- 既存システムの信頼性における問題点の解決

---

## 進捗など

### CbC_llvm マージ作業をしている

ビルドが通るところまでは行ったがテストが通らない
- 通ってる?

### CbC_llvmの動作テスト方法をScrapboxにまとめた

- https://scrapbox.io/cr-ryukyu/LLVM_cbc_update_%E6%89%8B%E9%A0%86#64d9c401761c7d000051456f
- 実行するものが間違っていたことが判明した
  - CbC_llvm配下のCbC_examplesを動かすのが正解だった

### CbC_llvmの動作テストを実行した

fact-a.cはLLVMでは動かないらしいので除外して実行した。
- 別のものを実行していた

スタックトレース
```
#0 0x000055b61345fd1a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /cbc/CbC_llvm/llvm/lib/Su
pport/Unix/Signals.inc:569:11
 #1 0x000055b61345fecb PrintStackTraceSignalHandler(void*) /cbc/CbC_llvm/llvm/lib/Support/Unix/Signa
ls.inc:636:1
 #2 0x000055b61345e516 llvm::sys::RunSignalHandlers() /cbc/CbC_llvm/llvm/lib/Support/Signals.cpp:104
:5
 #3 0x000055b6134605f5 SignalHandler(int) /cbc/CbC_llvm/llvm/lib/Support/Unix/Signals.inc:407:1
 #4 0x00007fbb7ac55520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #5 0x00007fbb7aca9a7c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x96a7c)
 #6 0x00007fbb7ac55476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #7 0x00007fbb7ac3b7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #8 0x00007fbb7ac3b71b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #9 0x00007fbb7ac4ce96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#10 0x000055b6116ec97d llvm::X86TargetLowering::LowerCall(llvm::TargetLowering::CallLoweringInfo&, l
lvm::SmallVectorImpl<llvm::SDValue>&) const /cbc/CbC_llvm/llvm/lib/Target/X86/X86ISelLowering.cpp:44
25:32
#11 0x000055b614e38233 llvm::TargetLowering::LowerCallTo(llvm::TargetLowering::CallLoweringInfo&) co
nst /cbc/CbC_llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:10095:15
#12 0x000055b614e60a58 llvm::SelectionDAGBuilder::lowerInvokable(llvm::TargetLowering::CallLoweringI
nfo&, llvm::BasicBlock const*) /cbc/CbC_llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:7
789:3
#13 0x000055b614e3fb36 llvm::SelectionDAGBuilder::LowerCallTo(llvm::CallBase const&, llvm::SDValue,
bool, bool, llvm::BasicBlock const*) /cbc/CbC_llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder
.cpp:7929:14
#14 0x000055b614e292ec llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) /cbc/CbC_llvm/llv
m/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:8482:1
#15 0x000055b614e1e147 llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) /cbc/CbC_ll
vm/llvm/include/llvm/IR/Instruction.def:209:1
#16 0x000055b614e1d38f llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) /cbc/CbC_llvm/llvm
/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:1154:8
#17 0x000055b614f0f708 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_det
ail::node_options<llvm::Instruction, true, false, void>, false, true>, llvm::ilist_iterator<llvm::il
ist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, bool&) /cbc/CbC_llvm/l
lvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:678:3
#18 0x000055b614f0f248 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /cbc/CbC_
llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1606:11
#19 0x000055b614f0c7c6 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /cbc/CbC
_llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:467:3
#20 0x000055b611694cba (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFun
ction&) /cbc/CbC_llvm/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:191:7
#21 0x000055b6121ea785 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /cbc/CbC_llvm/llvm$
lib/CodeGen/MachineFunctionPass.cpp:91:8
#22 0x000055b612922196 llvm::FPPassManager::runOnFunction(llvm::Function&) /cbc/CbC_llvm/llvm/lib/IR
/LegacyPassManager.cpp:1430:23
#23 0x000055b612926fc2 llvm::FPPassManager::runOnModule(llvm::Module&) /cbc/CbC_llvm/llvm/lib/IR/Leg
acyPassManager.cpp:1476:16
#24 0x000055b612922a69 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /cbc/CbC_llv
m/llvm/lib/IR/LegacyPassManager.cpp:1545:23
#25 0x000055b6129225dd llvm::legacy::PassManagerImpl::run(llvm::Module&) /cbc/CbC_llvm/llvm/lib/IR/L
egacyPassManager.cpp:535:16
#26 0x000055b6129272a1 llvm::legacy::PassManager::run(llvm::Module&) /cbc/CbC_llvm/llvm/lib/IR/Legac
yPassManager.cpp:1672:3
#27 0x000055b6139e9d7a (anonymous namespace)::EmitAssemblyHelper::RunCodegenPipeline(clang::BackendA
ction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std:
:unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&) /cbc/CbC_llvm/clang/l
ib/CodeGen/BackendUtil.cpp:1060:3
#28 0x000055b6139e4546 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
 std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) /cbc/CbC_ll
vm/clang/lib/CodeGen/BackendUtil.cpp:1083:7
#29 0x000055b6139e3abd clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOption
s const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm
::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::defa
ult_delete<llvm::raw_pwrite_stream>>) /cbc/CbC_llvm/clang/lib/CodeGen/BackendUtil.cpp:1239:3
#30 0x000055b61509eb14 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /cbc/CbC_ll
vm/clang/lib/CodeGen/CodeGenAction.cpp:381:7
#31 0x000055b6170cbeec clang::ParseAST(clang::Sema&, bool, bool) /cbc/CbC_llvm/clang/lib/Parse/Parse
AST.cpp:203:12
#32 0x000055b6145e75ec clang::ASTFrontendAction::ExecuteAction() /cbc/CbC_llvm/clang/lib/Frontend/Fr
ontendAction.cpp:1164:1
#33 0x000055b61509a234 clang::CodeGenAction::ExecuteAction() /cbc/CbC_llvm/clang/lib/CodeGen/CodeGen
Action.cpp:1169:5
#34 0x000055b6145e6fec clang::FrontendAction::Execute() /cbc/CbC_llvm/clang/lib/Frontend/FrontendAct
ion.cpp:1059:7
#35 0x000055b61451594c clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /cbc/CbC_llvm/
clang/lib/Frontend/CompilerInstance.cpp:1044:23
#36 0x000055b6147a9887 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /cbc/CbC_llvm/clan
g/lib/FrontendTool/ExecuteCompilerInvocation.cpp:266:8
#37 0x000055b60faac010 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /cbc/CbC_llvm/clang
/tools/driver/cc1_main.cpp:250:13
#38 0x000055b60fa99ead ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) /cbc/CbC_llvm/clang/tools
/driver/driver.cpp:319:5
#39 0x000055b60fa98c69 clang_main(int, char**) /cbc/CbC_llvm/clang/tools/driver/driver.cpp:395:5
#40 0x000055b60facbea2 main /cbc/cbclang-build/tools/clang/tools/driver/clang-driver.cpp:11:35
#41 0x00007fbb7ac3cd90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#42 0x00007fbb7ac3ce40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#43 0x000055b60fa98465 _start (/cbc/cbclang-build/bin/clang-16+0x1eef465)
clang-16: error: unable to execute command: Aborted (core dumped)
clang-16: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 16.0.0
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /cbc/cbclang-build/bin
clang-16: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-16: note: diagnostic msg: /tmp/stack1-fa097a.c
clang-16: note: diagnostic msg: /tmp/stack1-fa097a.sh
clang-16: note: diagnostic msg:

********************
make: *** [Makefile:6: stack1.exe] Error 1
```