Sunday, 15. June 2008, 15:30:04
TROUBLE
6/13(金)に新人歓迎会をして、どういう訳か、かなりの泥酔モードに。有楽町線の終電を逃したこと、日暮里舎人ライナーの終電に乗ったこと以外のほとんどの記憶を失った状態で、会社の同僚の家で寝てました・・・orz。
翌日昼、ようやく酒が抜けた頃に、「最近調子が悪い」という同僚のPCを診てみることになりました。Windows を起動して(自動で)ログオンした後、スタートアップのプログラムが起動しきるまでに5分近くかかり、その間 HDD がずっと動きっぱ、という症状でした。起動中の状況を Process Explorer で確認しようとスタートアップに入れても、全然起動してこない!!
ようやく Process Explorer が起動して、さらっと眺めたところ、直感的に、インストールされていたノートンさん(Notron 360)が怪しいような気がしました。470MB のコミットチャージ中、唯一、100MB以上持って行っている ccSvcHst.exe がいたり、もう1つの ccSvcHst.exe は親プロセスなし。シャットダウン時に「応答しない」と言われたやつはこの親プロセス無しのやつでは…。
僕のPCもノートンさん(Notron Internet Security 2006)のお世話になっています。しかし、ccSvcHst.exe は100MB も持って行かないし、services.exe の子プロセスで動いている事くらいは認識していたので、Norton 360 の状況はちょっと尋常ではないかなぁと。
%CPU をくらい潰しているプロセスが居ないことと、ページファイルの読み書きが頻発していないこと、のよくある要因でないことを確認したのち、同僚の許可をもらってノートンさんをアンインストールしました。
そして再起動・・・30秒ほどでスタートアップが全部起動するようになりました。
そんなモンなんでしょうか。詳しいことを調査している余裕はなかったのですが、噂通り Norton 360 は危険だぞということはよく理解しました・・・。
Tuesday, 20. May 2008, 16:25:25
unicode, TROUBLE
久しぶりにソフトウェア開発の話、・・・精神的にかなり痛い話です。
今の開発は、社内向けのシステム(SOA ベース)の改造案件です。別システムから SOAP で送られてきたデータに対して「型桁チェック」というものをやっています。今回の開発で、とある項目A(他多数)の型桁チェック仕様を「全角文字を許容」から「全角+半角文字を許容」に変更していました。
今日になって、「項目A に改行を入れると型桁チェックエラーを返すようになった」という申告が。。。
大規模開発ならではの特徴なのですが、「基盤」というフレームワーク+αを設計・実装するチームと、「業務」という実際の Web アプリケーションを設計・実装するチームに分かれて開発します。そして、全角文字チェックは基盤チームからクラスが提供され、全角+半角チェックは業務チームの方で作成しています。
# 僕は業務チームの方です。
嫌な予感を感じつつ、ソースを見ることに。
- 全角+半角チェック: 全ての文字が U+0020~007F、U+00A0~FFFF であれば OK。
- 全角チェック: 全ての文字が U+0021~007F(ASCII)以外、かつ U+FF60~FFA0(半角カナ)以外であれば OK。
・・・ブラックリスト方式かよ! しかも制御文字(U+0000~U+001F, U+0080~U+00A0)を通すんかい!!
リリースまで時間がないため、全角+半角チェックのデグレ扱いになり改修をすることになりました。
・・・しかし「この全角チェックに半角も許容するとなると、どの文字を非許容にすればいいんだ!」という話が。とはいえ、全角+半角チェックの呼び出しをしないようにする、という対処は修正量が多いので、この時期にはきついという話も。
結局、全角+半角チェックは「全ての文字を許容する」チェックに修正することになりました。えぇ、return true 1行ですとも。そして、「改行で型桁チェックエラーになる」というバグが改修されたことを、結合試験レベルで確認することに(爆。
・・・気分最悪です。
Saturday, 2. February 2008, 17:02:51
TROUBLE, Thinkpad
会社から帰ってきたら、Z61tのバッテリランプが激しく点滅してて、省電力マネージャーで確認してみると、以下のような表示に...
どうやら、お亡くなりになったようです。サイクル・カウント 115 って、そんなに放電させた覚えないし。
自分の場合、こんな使い方をしていました。
- 利用期間は1年と4ヶ月くらい。(保証期間外…)
- ほとんど、AC をつないでいました。
- バッテリを外したのは今回が初。
- ThinkPad を使うのは 2h/1日。
- シャットダウンの頻度は1ヶ月(主に Windows Update時)くらい。通常、使わないときはサスペンドしています。
- …自分自身、静電気が帯電する方。
実は、2週間ほど前から前兆がありました。サスペンド直後 or レジューム直後に、いきなり橙ランプ点滅(充電中)になるという現象でした。レジューム直後の方は、省電力マネージャー曰く「残 1%、残り充電時間 5分」。実際に5分ほどで緑ランプ点灯(満充電)
同様の人いるかなぁ、と Google で「z61t バッテリー エラー」で検索すると、自分のブログが2番目に。。。バッテリーに関係ない「エラー」が引っかかったみたいです。
じゃぁ、X で言ってみるかと「x60 バッテリー エラー」で検索すると、どさっとでてきました。結構頻度が高いようです。
う~ん、ThinkPad は結構長いのですが、バッテリーがお亡くなりになるのは初体験です。
しょうがないので、スペアを買いに行こうと Lenovo から頻繁に来る優待販売のメールのリンクをたどっていくと、「2月後半まで受注停止」だって。うそぉ!?

※ 図(表)中の、40Y6791 ThinkPad Z60t Series 4 Cell Li-Ion Battery が、Z61t にもささるヤツです。
(2008-02-25 追記)
コメントをもらって、今一度調べたらいくつか出てきました。
そして、Lenovo のサイト(MIGR-67765)にたどり着いて、lenovobatteryreplacementpackage.exe をダウンロードして、バッテリーを射し込んでから実行。
いきなり Opera がアクティブになって、見事に「リプレイス対象だ」の画面に行きました。そのまま交換の依頼フォームをえいえいえいっと入力して送信。(http 送信だったけど気にしない)
スペアは買わずにすみそうです。
(2008-03-06 追記)
今更ながらの追記ですが、先週の木曜日(2/28)にレノボから連絡があり「入庫待ちなので入り次第送ります」と言われました。しっかり日本法人に情報が流れて、リプレイスの業務フロー?になっていたことに感心してます(音沙汰無し、を覚悟してました)。
(2008-03-23 追記)
3/8に無事届きました。今のところ、ちゃんと動いているようです。
Thursday, 11. October 2007, 23:26:49
TROUBLE, train
鉄道の日を目前にして、首都圏の自動改札がJR・私鉄共に止まっちゃってます。
ぶっちゃけ、電車乗り放題。
朝から熱いなあ…と思いながら、東武、JRと乗り継いで東急の改札に向かったところ、東急は復旧していました。
原因は何だったのか、かなり気になってます。明日の我が身かもしれないので…。
Monday, 17. September 2007, 14:50:00
TROUBLE, APACHE, IE
例のアイスコーヒーが出てきた建物でやっていた結合試験での話です。
「頻繁に『ページを表示できません』になる」という故障票があがってきました。しかし、開発環境ではどうやっても再現しません。「こっち(開発環境)では発生しないぞ~」って返そうとした矢先に、とある話を思い出したのでした。試験者に「画面を表示してから1分以上まってから送信して、再現するか確認してみて」と頼んでみたところ、「再現しなくなりました~」という返事。ビンゴ。
直接原因は Internet Explorer の不具合で、
- サーバ側で HTTP/1.1 の Keep-Alive を有効にしている
- Internet Explorer よりもサーバの方が Keep-Alive Timeout までの時間が短く設定されている
- 画面表示後、サーバの Keep-Alive Timeout 時間に達したが、Internet Explorer の Keep-Alive Timeout 時間(60秒)には達していないタイミング
を条件を満たした状態で画面遷移すると、https の接続もせずに「ページが表示できません。(サーバか見つからないか、または DNS エラー)」の画面になる(
KB305217)というものです。
さらに、画面遷移の代わりにファイルアップロードフォームを送信すると、タイミングによって、POST データの無い POST リクエストを送る(
KB831167)という、極悪な現象まで発生します。サーバ側たでは、標準入力からデータを読み込もうとしたが最後、300秒間身動きがとれなくなります。
最初見たとき、この現象にはかなり驚かされましたが、もっと凄いのはサポート技術情報に書かれている「回避策」の1つに書かれている「サーバの Keep-Alive Timeout を長くする」というもの。1分以上にすると確かに発生しなくなるんですが、これは自殺行為です。仮にサーバの最大同時接続数を100として、10秒ほどで100接続受け付けた場合、最初の Keep-Alive Timeout が発生する 50秒の間、101つ目の接続が受け付けられなくなります。
今回は Apache httpd で Web サーバを構築していたので、「Internet Explorer からの接続は Keep-Alive を無効にする」という設定で回避しました。
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
… というのは
Apache のマニュアルページにしっかりのっているし、デフォルトで用意される SSL の設定ファイルにしっかり書いてありました orz
Showing posts 1 -
5 of 10.