SlideShare a Scribd company logo
1 of 29
Download to read offline
バグの調べ方
Cybozu Tech Conrefence 2016
12/13
サイボウズ・ラボ 光成滋生
• 自己紹介
• 自分が開発してるもの
• サイボウズ・ラボユース紹介
• 不具合調査
• サイボウズOfficeでの不具合
• Garoonでの不具合
• WalBでの不具合
• まとめ
概要
2 / 29
自己紹介
• サイボウズの研究開発部門
• 次世代の製品・サービスの基盤となる技術を
中長期視点で研究開発する
• 私
• 主にセキュリティ関係に関わる
• https://github.com/herumi/
• サブでcybozu.comのバックアップレプリケーションシステム
• + たまにやってくる不具合調査
サイボウズ・ラボ
4 / 29
• https://github.com/herumi/mcl
• 汎用楕円曲線・ペアリング暗号ライブラリ
• https://github.com/herumi/ate-pairing
• 世界最速実装の一つ(IEEE Trans. on Computers, 2015)
• 何に使うの?
• 『クラウドを支えるこれからの暗号技術』
をご覧ください
• 例:完全匿名可能な分散型暗号通貨
Zcashのゼロ知識証明プロトコル
ペアリング暗号の実装
5 / 29
• https://github.com/herumi/xbyak
• 暗号ライブラリなどのために開発
• 来年やその後に出る予定のCPUのAVX-512に対応
• gcc-6, clang-4, NASM, VC2015, Intel SDEなどのツールは
AVX512_4FMAPS, AVX512_4VNNIWに未対応(2016/11)
• Intelの機械学習ライブラリCaffeやMKL-DNNで利用される
C++用JITアセンブラXbyak
実装したけど正しく動いてるかツールが無いので分からん
未公開のIntelソフトウェアXEDで確認したよ
6 / 29
• http://labs.cybozu.co.jp/youth/requirements.html
• 学生が作りたいものをサポートする
• サイボウズ・ラボ社員がメンター
• 比較的長期(最大1年)
• 開発物はオープンソース
• 給料がもらえる
• 私がメンター担当したもの(一部)
• 正規表現JITエンジン開発
• JavaScriptエンジン開発
• ペアリング暗号ライブラリ開発
• Intel DPDKを用いたネットワークライブラリ開発
サイボウズ・ラボユース
7 / 29
サイボウズOfficeでの不具合調査
• サイボウズOffice:中小企業向けグループウェア
• ファイルキャッシュの不具合(2012年の話)
• 1000秒おきにファイルキャッシュがクリア
突然サイボウズOfficeが遅くなる
Office
ext3
mdadm
LVM
kernel/driver
disk
ファイルシステム
ソフトウェアRAID
パーティション管理
メモリにキャッシュ
誰かにクリア
されて遅くなる
9 / 29
• 手元の環境で再現させる
• 結構つらい
• 仕掛ける
• 普通ユーザランドでキャッシュを明示的に破棄しない
• 犯人はだれだ
• ページキャッシュに関係するkernelの関数をwatch
• flush_disk, invalidate_disk, invalidate_partition, ...
• ftrace
• 低負荷で手軽に使えるkernelトレーサ
再現させる&仕掛ける
10 / 29
• invalidate_partitionが呼ばれた
• 呼び出したのはmdadm
• 犯人はこいつか
• gdbでattach
ヒット
mdadm-900 [001] .... 75491.384221: __invalidate_device <-invalidate_partition
=> ftrace_call
=> invalidate_partition
=> rescan_partitions
=> __blkdev_get
=> blkdev_get
...
=> do_sys_open
=> sys_open
gdb -p 9000
gdb) bt
#0 0x00007f85b1ebf103 in __select_nocancel ()
at ../sysdeps/unix/syscall-template.S:82
#1 0x000000000040de66 in mdstat_wait (seconds=1000) at mdstat.c:317
#2 0x000000000042dea1 in Monitor (devlist=0x0, mailaddr=0x1a7b020 "root",
waitしてる時間が1000秒
11 / 29
• mdのモニタツールがinvalid_partitionを呼んでいる
• 呼ぶとはとても思えないが...
• /dev/mdをオープンするだけでクリアされると判明
• mdのドライバが犯人か?
位置関係(1/3)
mdデーモン
md driver
disk driver
disk
invalid_partition()
キャッシュクリア
モニタツール
?
fd = open("dev/md/test..", O_RDONLY);
kernel
user
12 / 29
• md_open()がinvalid_partitionを呼ぶとは思えない...
• 調べたがmd_openは悪くはなかった
• スタックトレースの途中にあったblkdev_get()を見てみる
位置関係(2/3)
mdデーモン
md driver
disk driver
disk
invalid_partition()
キャッシュクリア
モニタツールopen()
md_open()
?
kernel
user
13 / 29
• bd_invalidatedが怪しい
blkdev_get
__blkdev_get(...) {
...
ret = disk->fops->open(bdev, mode);
...
if (bdev->bd_invalidated) {
if (!ret)
rescan_partitions(disk, bdev);
else if (ret == -ENOMEDIUM)
invalidate_partitions(disk, bdev);
md_openが
呼ばれる
__invalidate_partitionが呼ばれる
14 / 29
• mdは悪くなかった
• kernel/fsのバグ
• check_disk_size_change()内でbd_invalidatedをクリアし忘れ
• kernel patchを送る
位置関係(3/3)
mdデーモン
md driver
disk driver
disk
bd_invalidatedがtrueなら
invalid_partition()
モニタツールopen()
blk_dev()
kernel
user
md_open() // 引っかけ
キャッシュクリア
15 / 29
Garoonでの不具合調査
• Garoon:中堅・大規模組織向けグループウェア
• リリース予定の少し前に不具合が発覚(2015年の話)
• PHPのheapが壊れて死んだ
• 本社チームがさまざまな設定で検証
• OPcacheを無効にすると発生しない
• OPcache : PHPのコンパイル結果をキャッシュして高速化
• パフォーマンス劣化は許容範囲外
• opcache.max_accelerated_filesを増やすと発生しない
• Garoonのファイルは約7000個
• ファイルキャッシュを越えると不具合か?
突然Garoonが白くなる
[.10:59:22] WARNING: [pool www] child 19055 said into stderr: "zend_mm_heap corrupted"
[.10:59:22] WARNING: [pool www] child 19055 exited with code 1 after 946.944662
seconds from start
17 / 29
• Address sanitizerで調査
• エラーで落ちるがそのメモリがどう壊れてるのか、
どこで確保されたのかはわからない
• 自前ツールで調査
• 全てのmalloc/freeを記録して整合性をチェック
• 共有ライブラリを通してかなり複雑なやりとりをしている
• ひとまず解決
• このバージョンのPHPではopcache.fast_shutdown=0だと
エラーになるパスを通らないことを確認
• パフォーマンス劣化も許容範囲内
• 同時に軽微なメモリ破壊の修正patch
メモリチェックツール
18 / 29
WalBでの不具合調査その1
• WalB
• cybozu.comの次期バックアップレプリケーションシステム
• ブロックデバイスの全IOを記録する
• デーモン・制御ツールはC++/Python
• ラボ:星野(メイン) + 私(サブ)
• 現在、星野とSRE(インフラ)チームで本運用に向け最終開発
WalBでおかしな実行バイナリ
WalB
storage
アプリケーション
Diff
backup
storage
replicated
storage
20 / 29
• gdbでデバッグしようとしたらgdbが落ちる
• 起動も何もしていない
• gdbを使わなければプログラム自体は普通に動く
• 1行だけデータをコメントアウトしたらgdbでも動いた
ある日のデバッグ
gdb --args binsrc/archive-server -vg vg1 -p 10201 -b /home/shigeo/Program/walb-
tools/stest/tmp/a1 -l /home/shigeo/Program/walb-tools/stest/tmp/a1.log -id a1 -
debug
GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7
...(snip)
Type "apropos word" to search for commands related to "word"...
Reading symbols from binsrc/archive-server...Segmentation fault (core dumped)
const protocol::Str2ServerHandler archiveHandlerMap = {
...
// { dirtyFullSyncPN, s2aDirtyFullSyncServer }, /* 動く・動かないの分岐点 */
};
21 / 29
• 3万行のコードからひたすらコードを削る
• 少し変更するだけで動いたり、動かなかったりで難しい
• 最終的に30行ほどで落ちるコード
• 結局gdbのシンボルパーサにバグ
• template+継承+ラムダ式のコンボによる複雑なシンボル
• 当時のcurrent版で修正済みだった
おもしろい
22 / 29
WalBでの不具合調査その2
• 試験運用時書き込みデータ(logpack)に不正を検出
• しばらくretryしてシステムは継続
• 一度しか発生せず致命的ではなかったため様子見
• しかし20日後再現
• 対応作業
• コードレビュー
• チェックコード
• 3週間に一度しか起こらないのでよくわからない
WalBで不正なlogを検出
24 / 29
• エラーの再現頻度を上げるチェッカーツールの作成
• 最短で10分に一度エラーが発生!
• 条件によって数時間走らせても出ないことも
• WalB driverのflushまわりの制御バグを発見
• ツールを1日走らせてもエラーが出なくなった
• 問題解決か?
• 残念
• ツールを使っても3日に一度エラーが発生
原因究明作業(主に星野担当)
25 / 29
• diskの読み書きは非同期
• データは分割・統合されうる
• 実際にはflush処理もある
原因追求が難しい理由
write()
user空間 WalB driver/kernel空間
logの書き込みsubmit
disk
書き込み
complete完了
dataのコピー・統合・分割
dataの書き込みsubmit
書き込み
complete
26 / 29
• いろいろ調べても悪そうには見えない
• 環境によって出るのと出ないのと
• 同じマシンでも出やすかったりそうでなかったり
• 何が違うのかなかなか思い当たらない
• つらい期間
• WalBのせいじゃないのではないかという仮定の元に
複数書き込みを模倣するユーザランドツールを作成
• 同じエラーが発生
• WalB driverのせいではなかった!
• では犯人はdisk driver or kernel?
WalB driverのせいなのか?
27 / 29
• disk IOを詳細に取得できるツール
• completedでdiskの書き込みは完了しているはずなのに
3296001番目のセクタの中身はは0のままだった
• RAIDカードのドライバかファームウェアの不具合
blktrace
252,7 1 12079 228.808092957 4494 Q W 3296001 + 1 [kworker/u66:21]
8,2 1 162836 228.808094689 4494 A W 622367489 + 1 <- (252,7) 3296001
8,0 1 162837 228.808095153 4494 A W 622867201 + 1 <- (8,2) 622367489
8,0 1 162838 228.808095648 4494 Q W 622867201 + 1 [kworker/u66:21]
8,0 1 162839 228.808099628 4494 G W 622867201 + 1 [kworker/u66:21]
252,7 1 12080 228.808101183 4494 Q W 3296002 + 256 [kworker/u66:21]
8,2 1 162840 228.808101724 4494 A W 622367490 + 256 <- (252,7) 3296002
...
(snip)
...
8,0 1 162854 228.808198793 4494 Q W 622867459 + 256 [kworker/u66:21]
8,0 1 162855 228.808199268 4494 G W 622867459 + 256 [kworker/u66:21]
8,0 7 187897 228.808255052 4367 C W 622867202 + 256 [0]
252,7 7 19389 228.808256993 4367 C W 3296002 + 256 [0]
8,0 7 187898 228.808260877 4367 C W 622867201 + 1 [0]
252,7 7 19390 228.808261198 4367 C W 3296001 + 1 [0]
heder
submitted
logpack
submitted
logpack
completed
header
completed
28 / 29
• まずは自分たちのコードを疑う
• ほとんどは自分のミス
• 論理的に、ときにはひらめきで追いかける
• ありそうにないものが犯人のときもある
• つらいときでも耐える
• 気分転換でもして
バグの調べ方のまとめ
29 / 29

More Related Content

What's hot

ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門Hirotaka Kawata
 
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1Hirotaka Kawata
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなしMITSUNARI Shigeo
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装Takuya ASADA
 
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会Hirotaka Kawata
 
Linux の hugepage の開発動向
Linux の hugepage の開発動向Linux の hugepage の開発動向
Linux の hugepage の開発動向Naoya Horiguchi
 
ブラウザで動く準同型暗号
ブラウザで動く準同型暗号ブラウザで動く準同型暗号
ブラウザで動く準同型暗号MITSUNARI Shigeo
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話nullnilaki
 
golang binary hacks
golang binary hacksgolang binary hacks
golang binary hacksyaegashi
 
OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作uchan_nos
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell scriptMasami Hiramatsu
 
あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿MITSUNARI Shigeo
 
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmapパケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmapfurandon_pig
 
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~Preferred Networks
 

What's hot (20)

ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
 
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなし
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
 
Linux の hugepage の開発動向
Linux の hugepage の開発動向Linux の hugepage の開発動向
Linux の hugepage の開発動向
 
Memory sanitizer
Memory sanitizerMemory sanitizer
Memory sanitizer
 
Free bsd jail入門
Free bsd jail入門Free bsd jail入門
Free bsd jail入門
 
ブラウザで動く準同型暗号
ブラウザで動く準同型暗号ブラウザで動く準同型暗号
ブラウザで動く準同型暗号
 
Kernel fcache-bug
Kernel fcache-bugKernel fcache-bug
Kernel fcache-bug
 
xv6 + mist32 + mruby
xv6 + mist32 + mrubyxv6 + mist32 + mruby
xv6 + mist32 + mruby
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話
 
golang binary hacks
golang binary hacksgolang binary hacks
golang binary hacks
 
OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell script
 
あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmapパケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmap
 
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
 

Viewers also liked

『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会MITSUNARI Shigeo
 
『データ解析におけるプライバシー保護』勉強会 #2
『データ解析におけるプライバシー保護』勉強会 #2『データ解析におけるプライバシー保護』勉強会 #2
『データ解析におけるプライバシー保護』勉強会 #2MITSUNARI Shigeo
 
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシープライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシーHiroshi Nakagawa
 
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)Kentaro Minami
 
居場所を隠すために差分プライバシーを使おう
居場所を隠すために差分プライバシーを使おう居場所を隠すために差分プライバシーを使おう
居場所を隠すために差分プライバシーを使おうHiroshi Nakagawa
 
差分プライバシーによる時系列データの扱い方
差分プライバシーによる時系列データの扱い方差分プライバシーによる時系列データの扱い方
差分プライバシーによる時系列データの扱い方Hiroshi Nakagawa
 
情報ネットワーク法学会2017大会第8分科会発表資料
情報ネットワーク法学会2017大会第8分科会発表資料情報ネットワーク法学会2017大会第8分科会発表資料
情報ネットワーク法学会2017大会第8分科会発表資料Hiroshi Nakagawa
 

Viewers also liked (7)

『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会
 
『データ解析におけるプライバシー保護』勉強会 #2
『データ解析におけるプライバシー保護』勉強会 #2『データ解析におけるプライバシー保護』勉強会 #2
『データ解析におけるプライバシー保護』勉強会 #2
 
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシープライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
プライバシー保護のためのサンプリング、k-匿名化、そして差分プライバシー
 
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
 
居場所を隠すために差分プライバシーを使おう
居場所を隠すために差分プライバシーを使おう居場所を隠すために差分プライバシーを使おう
居場所を隠すために差分プライバシーを使おう
 
差分プライバシーによる時系列データの扱い方
差分プライバシーによる時系列データの扱い方差分プライバシーによる時系列データの扱い方
差分プライバシーによる時系列データの扱い方
 
情報ネットワーク法学会2017大会第8分科会発表資料
情報ネットワーク法学会2017大会第8分科会発表資料情報ネットワーク法学会2017大会第8分科会発表資料
情報ネットワーク法学会2017大会第8分科会発表資料
 

Similar to Cybozu Tech Conference 2016 バグの調べ方

独学道場アセンブリの会
独学道場アセンブリの会独学道場アセンブリの会
独学道場アセンブリの会Ryota Suenaga
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
Mozillaのビルドインフラ
MozillaのビルドインフラMozillaのビルドインフラ
MozillaのビルドインフラMakoto Kato
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセスMakoto Kato
 
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会slankdev
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3mganeko
 
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Takashi Sogabe
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools KnowledgeShinobu Okano
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Developers Summit
 
AOSPをミラーしてみた
AOSPをミラーしてみたAOSPをミラーしてみた
AOSPをミラーしてみたkinneko
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutTsuubito Ishii
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳Uchio Kondo
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみたkinneko
 
軽量Ruby『mruby』について
軽量Ruby『mruby』について軽量Ruby『mruby』について
軽量Ruby『mruby』についてRyosuke MATSUMOTO
 
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Hiro Yoshioka
 
20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)Yoshifumi Yamaguchi
 

Similar to Cybozu Tech Conference 2016 バグの調べ方 (20)

独学道場アセンブリの会
独学道場アセンブリの会独学道場アセンブリの会
独学道場アセンブリの会
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
Mozillaのビルドインフラ
MozillaのビルドインフラMozillaのビルドインフラ
Mozillaのビルドインフラ
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
 
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
 
Mrubyの始め方
Mrubyの始め方Mrubyの始め方
Mrubyの始め方
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools Knowledge
 
Kansai mrb gr_sakura
Kansai mrb gr_sakuraKansai mrb gr_sakura
Kansai mrb gr_sakura
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
AOSPをミラーしてみた
AOSPをミラーしてみたAOSPをミラーしてみた
AOSPをミラーしてみた
 
Hello Ruby
Hello RubyHello Ruby
Hello Ruby
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみた
 
軽量Ruby『mruby』について
軽量Ruby『mruby』について軽量Ruby『mruby』について
軽量Ruby『mruby』について
 
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
 
20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)
 

More from MITSUNARI Shigeo

暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコルMITSUNARI Shigeo
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advancedMITSUNARI Shigeo
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenMITSUNARI Shigeo
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法MITSUNARI Shigeo
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装MITSUNARI Shigeo
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化MITSUNARI Shigeo
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介MITSUNARI Shigeo
 

More from MITSUNARI Shigeo (20)

暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 
暗認本読書会11
暗認本読書会11暗認本読書会11
暗認本読書会11
 
暗認本読書会10
暗認本読書会10暗認本読書会10
暗認本読書会10
 
暗認本読書会9
暗認本読書会9暗認本読書会9
暗認本読書会9
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
 
暗認本読書会8
暗認本読書会8暗認本読書会8
暗認本読書会8
 
暗認本読書会7
暗認本読書会7暗認本読書会7
暗認本読書会7
 
暗認本読書会6
暗認本読書会6暗認本読書会6
暗認本読書会6
 
暗認本読書会5
暗認本読書会5暗認本読書会5
暗認本読書会5
 
暗認本読書会4
暗認本読書会4暗認本読書会4
暗認本読書会4
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
 
楕円曲線と暗号
楕円曲線と暗号楕円曲線と暗号
楕円曲線と暗号
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Cybozu Tech Conference 2016 バグの調べ方