2006年11月12日から2006年11月8日までの日記を表示中
2006年11月12日 (日)
■gaim-2.0.0beta5 と ICQ
2chのスレ見たらこんな話が・・・.んなまさか.AIMのアカウントじゃ何もおこらんし.もしかしてICQだと起こるのかな?って自分のICQのアカウントって何だったっけ・・・.もう思い出せないや.
ICQのページに行って新規にアカウント取ったんですが,ふと見るとユーザ検索なんてのがありますな.げ,本名突っこんで検索したら古いの出てきたし.あれれ,こんなでっかい数字だったっけ? まあいいや
取ったアカウントでさっそくテストしてみると・・・見事に再現.落ちますね.あ,でもLinuxだと落ちません.何じゃこりゃ.2.0.0beta4で試してみても落ちます.なるほど.オフィシャル版だと落ちないということなので,念のためこちらのビルド環境を疑ってパッチ無し版をビルドしてみましたが,確かにこれだと落ちませんでした.
で,こっからが大変.MinGWのgdbでも入れりゃどこで落ちてるのかすぐ分かるだろうと思ったんですが,gdbかましてgaim動かそうとするとgdbが即落ち.動いているのattachしてもgaimが落ちたのに全然反応してくれずorz.使い方がよくわからんのですが,OllyDbgというのでちょっと動かしてみたらどうも「botch_utf」なる関数で落ちてるみたいです.でもバックトレースの見方がよくわからんのよね(´・ω・`)
ソースの方に戻ってパッチ見るとoscarでこの関数呼んでるのは3箇所.ええい,こうなったらprintfデバッグじゃ.って,何度か動かしてるとICQにログインできなくなりましたよ?なんか10分くらい待てとか言ってます.なんて厳しいんだ・・・(;´д`)
どうもgaim_prpl_oscar_convert_to_infotextで呼ばれるbotch_ucsで落ちてるみたいですねぇ.どれ,どんなテキストエンコードしてるのかメモリ内容表示させてみよう・・・って何かg_convertの返してきてる変換(UTF-8→UCS2)後の文字列長が異常に長いんですけど.もしかしてg_convertがおかしいのか?・・・と一瞬思ったんですがよく見ると変換後の文字列長だと思ってた変数は文字列長のポインタでしたorz.「*」1個つけて解決.
--- libgaim/protocols/oscar/oscar.c~ 2006-11-11 09:12:41.000000000 +0900 +++ libgaim/protocols/oscar/oscar.c 2006-11-13 01:34:44.000000000 +0900 @@ -4281,7 +4281,7 @@ charset = oscar_charset_check(str); if (charset == AIM_CHARSET_UNICODE) { encoded = g_convert(str, strlen(str), "UCS-2BE", "UTF-8", NULL, ret_len, NULL); - botch_ucs(encoded, ret_len); + botch_ucs(encoded, *ret_len); *encoding = "unicode-2-0"; } else if (charset == AIM_CHARSET_CUSTOM) { encoded = g_convert(str, strlen(str), "ISO-8859-1", "UTF-8", NULL, ret_len, NULL);
あれ?何でこれLinuxだと平気なんだ???たまたまか? ちなみにいじってて気づいたんですが,Windowsで日本語名のグループ作ってそこに他の人のICQアカウント分類するとLinux側で同じアカウントでログインした際にグループ名が豪快に化けますね.逆もまた然り.あと,メッセンジャー追加の承認要求も化けまくりっつーかLinux間でも化ける・・・と思ったけど拒否の方のメッセージは化けないな・・・.気になる・・・.どこ直せばいいんだこれ.
[コメントを書く]
■Scrobblerでスレッドがどうこうという話
ここを見て,リンク先を見て,xmms_show_messageを呼ぶ前後でgdk_threads_enterとgdk_threads_leaveを呼ぶようにしたら昨日のスレッド周りのエラーは出なくなりました.うーん,あってんのかこの対処は?というかflacとかvorbisのプラグインでも同じようにエラー表示にxmms_show_message使ってるわけですが,こいつらは安全なのか?
[コメントを書く]
- yaz 2006/11/13(月) 21:20:32
- ランタイム依存だと思いますが、私の環境ではgdk_threads_enter()を使うとかなりの確率でデッドロックに…(笑 かなり使い方が難しい関数だと思います。
- nosuke 2006/11/14(火) 01:58:55
- うーん,本スレッド(?)以外からGtkいじるところでは逆に呼ばないと危ないものなのかと思ったんですが,デッドロックしちゃいますかね.今んとこ自分の環境では大丈夫そうですが・・・.
■ICQの初代アカウント思い出した
あ,ICQって番号検索もできるんじゃん.やっぱあんなに桁数多い番号じゃなかったよなぁ.そう,確かこんな番号だったはず・・・あ,あってた! 一体いつ頃まで使ってたんだっけ,7年くらい前? 7桁の数字を未だに覚えてたとはなかなか.あれ,でも何で本名検索でひっかかんなかったんだ?・・・げぇ,ローマ字表記が違っとる(;´д`).・・・あれ,じゃあ最初に検索で出てきたやつはいつ取ったんだ??? というわけで,ICQのアカウントが3つになってしまいましたよ.
[コメントを書く]
- OBONO 2006/11/13(月) 16:59:40
- ICQでの君との会話は全部とっておいてあるよ。ぐへへ。
- nosuke 2006/11/13(月) 17:35:24
- お,おぼのさんには逆らえません((((;゜Д゜))) ガクガクブルブル
■エスプガルーダ
3〜4回やったら5面のボス(セセリ?)まで到達しました.そういやオプションで縦画面にすると,TATEにした場合上の方が若干はみ出ますけど,オプションで目一杯下に下げた上で,さらにXRGB-3で水平位置(縦画面なので上下)を調整するとバッチリ画面内に収まるようになります.うーむ,凄まじくドットがクッキリ.XRGB-3側で走査線エミュレートできると雰囲気出てよりいいのですが(笑).
[コメントを書く]
2006年11月11日 (土)
■gaim-2.0.0beta5
出てたのでさっそく入れてみましたよ.yazさんのパッチもそのまま当たります(2個rejectされるけど多分問題ないところ).で,ついでに「会話ウィンドウを縦タブ表示すると名前分の長さで表示されちゃうのなんとかなんねーの」というtac氏のわがまま要望をかなえて差し上げようかとちょっといじってみました.
gtkconv.c見ると,何か回転角度の設定が無いときだけellipsizeが設定されるようになってますな・・・.何で?これ外せば終わりなんじゃないの?と思ったら外すと切り詰めてくれるけど回転してくれません.うーんと思いつつリファレンスを見たら
The angle setting for the label is ignored if the label is selectable, wrapped, or ellipsized.
とかあるし(´・ω・`).
しょうがないから自前で切り詰めるか・・・.前にbmpいじったときにyazさんとやりとりした内容を思い出しつつちょろっと書き足してやったところ,なかなかいい感じです.
そういやgaim-textもビルドされていることを思い出してちょっと触ってみました.こりゃすごい!確かにツールキットっぽい感じかも!でもやっぱ日本語はダメそうですなぁ.だれか日本語化に挑戦してたりすんのかな?リッチなデスクトップ環境だとあんまり需要なさそうですが,リナザウとかだとかなり嬉しいんじゃないかと.gaim-text + uim-fep なんか使っちゃった日にはもう (*´Д`)ハァハァ
あ,あとWindows版もビルドしてみました.上記自前切り詰め版も一応置いたので興味がある方はどうぞ.混ぜちゃってますがパッチはこちら.
[コメントを書く]
■Scrobbler
間違ったパスワードをいれておいてポスト時に警告ダイアログを出してやると「Xlib: unexpected async reply (sequence 0xなんとか)!」とか出てAudaciousが操作不能に陥ったりしてくれます.xmms_show_message呼ぶとまずいみたいなんですが,うーん,何がまずいのかさっぱりわかりませぬ・・・.あ,足永さんだ・・・.うーん.
[コメントを書く]
2006年11月10日 (金)
■PS3
そう言えば明日発売なんですなー.落ち着いたら買うよ,きっと.
[コメントを書く]
■日記
今週の木〜金はいつもにましてヤバかった・・・.来週が思いやられる・・・.そんな感じで珍しく2日分まとめて日記更新とかになりました.
[コメントを書く]
■虫姫さまとエスプガルーダ
キャプチャの方セットして,やられたら今日は終わりということで遊んでみたら,いつになく調子がよくて,いきなりクリアできちゃいました(スコアは気にしない方向でorz).ボムが尽きて4ボスで1ミス,その後5面道中でぽろぽろやられて結局アキについたときには残機2.で,結局最後は残機0でしたがそれでも前回よりはずっと余裕のあるプレーだったかと.
さー次はエスプガルーダっすね.こっちも1プレーだけやったところ,4面道中で撃沈でした.まあ,ほぼ初見でここまでいければ自分的には上出来です(^^;.今まで数回しか遊んだ記憶がないんですが,こんな進めたのは初めてな気がします.CAVEの弾に慣れたのかな?
[コメントを書く]
2006年11月 9日 (木)
■screenとC-r
使ってる内にvimだとRedoでC-r使いまくりだということを思い出しました.アホすぎる・・・(;´д`).うーん,C-tも試してみたんですがC-rよりちょっと遠いのが辛い・・・.
[コメントを書く]
■inn
RHEL4のinnって2Gの壁があんの???んなまさかという感じですが,ログの保存にCNFS使おうとしたら
Value too large for defined data type, ignoring 'ONE' cycbuff
とか出てinndが動いてくれんわけですが・・・.楽をしようと不慣れなパッケージなんかに手を出したのが良くなかったか・・・?「もういいよ,面倒くさいからスラドにしようぜー」「バカおめalt.binariesから色々落としまくれるんだって.え?alt.binaries feedされてないの?なんだよー早く言えよー,Thunderbirdいれちまったじゃねーかよー」
そういえばThunderbirdががっつりサポートしてるってことは,実は自分の周りにまったく使ってる人がいないというだけで,実は今でもそれなりに需要があったりすんですかね.あるいはイントラで内輪向けに使われてるとかそんなのか?
[コメントを書く]
■SPAM判定
10% とか全然嘘でした.ちゃんと数えたらbogofilterを通ったものの中で5% とかそんな程度.でもどうみてもSPAMです本当に(ryみたいなやつが0.50002とかスコアで平然とinboxに入ってきたりすると体感すり抜け率は3割増し.
[コメントを書く]
2006年11月 8日 (水)
■bogofilter
アドレスや文字セット使った判定も織り混ぜて--spam-cutoff 0.7でやってみてるんですが,すり抜け率は10% くらいかなぁ.非SPAMの誤認識は今のところ無いのでいい感じです.もう0.1下げてもいいかも(抜けてきたやつのスコア見る感じだと,0.1下げてもあんまり差がなさそうですけど).
[コメントを書く]
■OOo
[コメントを書く]
- ekato 2006/11/09(木) 17:15:14
- 笑えますね。
2006年11月12日から2006年11月8日までの日記を表示中
グループ名や通知メッセージはwin上のicqクライアントとの運用でそれなりにうまく行っていると思っていたのですが、ダメですか。encodingをSJISにしてもダメですかねぇ…