Personal tools
You are here: Home ブログ 井上 synergy にある典型的なバグ(とパッチ)
« December 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Recent entries
Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23
Herokuの発音 inoue 2010-12-20
雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18
IPA未踏のニュース inoue 2010-12-15
労基法とチキンゲーム inoue 2010-12-06
フロントエンドエンジニア inoue 2010-12-03
ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25
技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24
雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22
RESTの当惑 inoue 2010-11-22
「プログラマのためのUXチートシート」を作りました inoue 2010-11-19
「ビューティフルコード」を読みました inoue 2010-11-16
Categories
カテゴリなし
 
Document Actions

synergy にある典型的なバグ(とパッチ)

前から synergy を使っていますが、synergyのプロセスが時々落ちます。落ちるタイミングはコピー&ペーストのコピーのタイミングです。コピーした時に100%落ちるわけではありませんが、落ちる時はコピーした時です。

誰かが修正するだろうと他力本願でしたが、一向に修正版がリリースされる気配もないので、自分で修正しようとソースを見始めました。

と勢い込んだのですが、コールスタックに現れる関数を検索していたら、あっさりとパッチが見つかりました。

修正版がリリースされないことと、コピー&ペーストまわりのバグということで、当初、2バイト文字関係のバグを疑っていました(英語環境で起きないバグなら、なかなか修正版がリリースされないことの説明がつくので)。

実際は環境依存のないバグでした。修正版がリリースされないのは、そもそも synergy の開発が停止中だからのようです。

バグはまさに典型的なバグです。コレクションをなめるループの中で、コレクションの要素を削除してしまうバグです。STLでのわかりやすい説明ページを参考のためにリンクしておきます。

破壊的な処理を書いている限り、この手のバグは言語を問わず起きます。

理想主義者は破壊的な操作が悪だと言いますが、現場では必要悪です。JavaならConcurrentModificationException例外が起きるので、C/C++より相当マシです。ConcurrentModificationException例外は、世界が少し平和になるささやかな工夫のひとつです。

The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/inoue/synergy-bug/tbping

Re:synergy にある典型的なバグ(とパッチ)

Posted by inoue at 2010-01-28 22:01
今回の問題は map なのでリンク先としては以下の方が適切かもしれません。

http://www.sun-inet.or.jp/~yaneurao/intensive/cppmaniax/chap0004.html
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.