バグや問題を「MSのせい」にする技術者、いませんか? 197
ストーリー by hylom
UNIXはWindowsよりエライのか? 部門より
UNIXはWindowsよりエライのか? 部門より
あるAnonymous Coward 曰く、
日経ITproに、『「Microsoftのバグ」との戦い』という、興味深いコラムが掲載されています。
このコラム、かいつまんで内容を説明すると、「自分が書いたコードにバグがあるにも関わらずバグの原因をMSのせいにしてなかなか非を認めようとしない人」や、「Windowsを知らないUNIX技術者がWindowsを軽く見てまじめに準備せず、そのためにトラブルが発生してもMSのせいにする人」のせいでMS製品は実態以上に「問題が多い」ように思われているのではないか、というものです。
このように自分がバグを生み出したことを認めようとしない人はMS製品ユーザーに限らずたくさんいると思うのですが、人の振り見て我が振り直せということで、バグが出たら謙虚に自分を疑うように再度心がけたいと思います。
あなたの周りにも、このように「自分のバグを認めようとしない」人が居たりしませんか? 面白いバグの言い訳など、体験談をお待ちしています。
本当にバグの場合もあるけど (スコア:5, 参考になる)
はまった内容:
悪い例:
Form form = new HogeForm();
form.ShowDialog();
form.Dispose();
良い例:
Form form = new HogeForm();
form.ShowDialog();
form.Dispose();
form = null;
最後にnullを設定しないと、このフォームがガベージコレクトされず、
メモリリークします。なんだそれ。
マイクロソフトのサポートに問い合わせたところ、
マイクロソフト側でも現象を確認したそうで、
回答が「最後でnullを設定してね」でした。
マイクロソフトはバグとは言いませんでしたが、どう見てもバグですね。
メモリリークするよ~、あんたのコードが悪いんでしょ~、
なんとかしてよ~、とつつかれて大変でした。
Re:本当にバグの場合もあるけど (スコア:5, 参考になる)
いまどき Web アプリを作ると Encoding は ふつー utf8 ですよね。
ある日、お客さまから文字サイズがころころ変わるバグがあるからさっさと直せとのご連絡。
そういわれましても、そもそも表示文字サイズを変えるような処理をしていないのです。
お客さまのところへ伺ったところ、IE6 で表示文字サイズを最大にしてご利用でした。
確かに mouse cursor が anchor element の上を通るときに文字サイズが変わる。
勘のいい方はお気づきのように、IE7 だと問題ありません。
結局、IE6 の既知の問題とわかりました。
リンクをクリックすると文字のサイズが中に戻る
http://support.microsoft.com/default.aspx?scid=kb;ja;896315 [microsoft.com]
公式な対策は、リンク元のHTMLの文字コードをShiftJISにてエンコードしてください、とのこと。
すでに obsolette な IE6 だけのために utf8 をやめるわけにもいかず、
かといってお客様は IE6 でないと動かない Web アプリを多用してるらしく、
IE7 に入れ替えるのは無理とのこと。
説明でお客様も一応は納得してくれたのですが、腑に落ちない様子なので、
お客様の選択のひとつとして、IE6 と併用できる Firefox を紹介しておきました。
まあ、そんな事例もあったということで。
Re:本当にバグの場合もあるけど (スコア:4, 参考になる)
IEのバグリスト [infoseek.co.jp]をMozilla [infoseek.co.jp]やSafari [infoseek.co.jp]、Opera [infoseek.co.jp]と比較すると数の違いに驚かされます。しかも、これは独自仕様に基づく動作の違いを含みません。
W3Cの仕様に基づき記述したものが記述通りに動かないのは、原因が何であれ使用者側から見ればバグでしょう。
まあ既知のバグを回避するのも技術者の仕事のうちではありましょうが、こうも多いと完全回避が困難である場合も……
Re:本当にバグの場合もあるけど (スコア:2, すばらしい洞察)
Re:本当にバグの場合もあるけど (スコア:4, 興味深い)
お願いだから直してくださいとMSに半年くらい頼み込んで、やっとパッチを出してもらった。これで安心と思ったら、サービスパックで元に戻りやがったー!!
ということが、ごくごく最近にありました。SPへのパッチはいまだに出てません!
Re:本当にバグの場合もあるけど (スコア:1)
Re:本当にバグの場合もあるけど (スコア:2, 参考になる)
もちろん、スコープから外れても、ガベージコレクトされずに
フォームオブジェクトが丸ごと残り続けてました。
で、最終的にはOutOfMemoryExceptionになってしまいます。
nullでリセットするようにしただけで解決しましたけどね。
他にも、Windows CEの.NETの怪しい挙動をいくつか見つけており、
(問い合わせてはいませんが)たぶんMSのバグだべ~と思っています。
#↑で、こういう態度をとると
# 「すぐにMSのせいにする技術者」
# ってことになっちゃうんだな。
# じゃあ一体どうしろと
Re:本当にバグの場合もあるけど (スコア:2, 参考になる)
素人考えですが、その「Microsoft 製品のバグだろう」と思っている現象を Microsoft Connect [microsoft.com] で報告して他の人がバグであることを確認してくれれば、技術者相手には自分のせいでないと説得することができると思います。日本語の報告も受け付けていて [microsoft.com]、日本語の報告を Microsoft の担当者が英語に訳す場合もあるようです。 Connect はほとんど使ったことがないので、どのくらい他の人が再現に協力してくれるものかはわかりませんが。
ただし、バグ報告を書くのは手間がかかるかもしれませんし、 Connect では技術者以外には説得材料にならないでしょうね。
Re:本当にバグの場合もあるけど (スコア:2)
だから、 Dispose() を明示的にコールしているのに、リソースが解放されないよ、変な実装だね。って話でしょう。
Re:本当にバグの場合もあるけど (スコア:2, 参考になる)
「MSのせい」にしない人 (スコア:5, おもしろおかしい)
「MSの性能の違いが戦力の決定的差でないということを教えてやる!」
ごめんなさい (スコア:5, おもしろおかしい)
もう10年近く前、開発したシステムのEUC部分について、顧客の主査クラスから
「EXCELのマクロ付きファイルを開こうとすると毎回セキュリティ警告が出る。この『バグ』を何とかしろ」と苦情が来ました。
マクロウィルスの危険性や、EXCEL側で出しているメッセージである事等を説明しましたが、
「アンチウイルスソフトを使っているから心配しなくて良い。マクロを使っていないファイルは警告が出ない、何故マクロの時だけ出る?だからこれはバグだ。修正しろ。」と全く理解して頂けませんでした。
仕方ない(面倒くさくなった)ので「EXCELの仕様です」で通したら
今度は
「マクロソフトの技術者を呼んで、マクロを使ってもEXCELからメッセージが出ない様にEXCELを改造させろ。」・・・・・・
困り果ててMSの知り合いから連絡させたら
「お前たちはみかかを馬鹿にしているのか!」
プチンと来た彼が一言
「馬鹿にはしていませんが、お客様ご自身がお客様の社内でどう思われているか・・・・」
Re:ごめんなさい (スコア:2, 参考になる)
セキュリティレベルを「低」にすりゃ出ないッス。
Re:ごめんなさい (スコア:2, 参考になる)
2007 だと、署名がなくても指定したフォルダ以下にあるファイルは警告を出さないようにする事ができますよ。
当然複数フォルダが指定可能です。
バグが直ってもMSのせい (スコア:5, おもしろおかしい)
迂回する方法を検討して何とか動くようにしてる方がいましたけど、
ある日突然そのバグをMSが修正してコードが動かなくなった際は「MSのせい」と仰ってました。
Re:バグが直ってもMSのせい (スコア:2, すばらしい洞察)
そうは言っても… (スコア:4, 興味深い)
.
最近食らったのは、Clientから解放されたはずのoplockがサーバ側で解放されていなくて、結果としてサーバ側のプログラムがブロックされたまま…というもんだい。結局:
http://support.microsoft.com/kb/126026/ja [microsoft.com]
の問題だったんだけれど、
ロックを勝手にキャッシュして、クライアントが解放したのにサーバ側で解放せず、あげくサーバ側アプリケーションがアクセスしてきたときにnotifyが上がらないから srv.sys がロックを解放することができない
つーのは誰がどう聞いても仕様レベルからしてバグだろう…。
# つーか、そういう問題があるなら、KBじゃなくマニュアルにそう書け。
.
しかもこの解析をさせるのに金を取り、『直すのであれば、さらにお金をいただきます』っててめーーー!! 自分のバグを直すのに金を払わせるかっ?!??!!!!
こういう有様では、その問題が「MSの問題」か「他の問題」か切り分けられない。切り分けられないのでは、このMSの姿勢に寄生するできの悪いエンジニアが出てくるのも当然だし、さらに言えば本当にMSのバグであったとしても、できの悪いエンジニアとの区別がつかない。
.
というわけで。この問題はMSの自社の製品に対する態度が悪いのが問題の本質です。
もっと誠実に、自分達の製品のバグをきちんと、自腹で直す(普通の会社はそうするもんです)ならば、こんな寄生虫のようなエンジニアは出てこないでしょう。
fjの教祖様
修正の様子がないんで、ネタにします (スコア:3, 興味深い)
USBなどのリムーバ「ブ」ルメディアを使っている状態でお試しください
U:\>diskpart
Microsoft DiskPart version 5.1.3565
Copyright (C) 1999-2003 Microsoft Corporation.
コンピュータ: MYPC
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 Q DVD-ROM 0 B
Volume 1 F DVD-ROM 0 B
Volume 2 C WindowsXP_S NTFS Partition 125 GB 正常 システム
Volume 3 U USERDATA NTFS Partition 341 GB 正常
Volume 4 D MICROSD_2GB FAT リムーバプル 1946 MB
U:\>
---
リムーバ「プ」ル だそうです。(ちなみに、Windows Vistaでも!)
最初は、MSTechnetのインシデント使ってみようかと思ったんですが、あまりにもタライマワシをされたので、報告だけにしたところ、いまだに改善なしですね。
もうそろそろ半年。期限が切れるインシデント使って、改善版要求してみましょうかね。
Re:修正の様子がないんで、ネタにします (スコア:2, おもしろおかしい)
個性として受け入れてください
Re:修正の様子がないんで、ネタにします (スコア:1)
Re:そうは言っても… (スコア:3, 興味深い)
知られざる常識が多すぎる。たとえば、マニュアル。 Microsoft製品のカタログを見ても、OSのマニュアルはない。OS買っても付属してこない。で、Windowsを使い始めて何年もたってから、 「それはね、『リソースキット』って本を買うんだよ。マイクロソフトじゃなくてアスキー(のちに日経BPソフトプレス)の 書籍カタログには載ってるから。こんな常識知らないの?」って呆れ混じりに教えられて がっくり。
紙のマニュアルが別売り有料なのはまだ想像の範囲内だけど、 OSを買う時にオプションでマニュアルを合わせて買うことができないだけでなく、そもそも別会社が売ってるなんて「常識」、MS以前にはなかったっつーの。
ひとつには、OEM供給という隠れ蓑に隠れてを使いながら、OEM供給先にバグをバグと認定したり独自に改修したりする権限を渡してないってのが悪いんじゃないか?という気がする。 OEM先(PC販売社)が「自社開発製品並みのサポート」を提供しようったって無理。
Re:そうは言っても… (スコア:3, 興味深い)
古き良き時代には、紙のマニュアルが付いてきました。ロッカー1段分くらいってのは本当です。メインフレームやミニコンも同じ。 SunOS3.x~4.xだとロッカー二段分くらい。 世知辛くなってくると、ごく一部が紙で、オンラインマニュアルの主要部がOSメディアにファイルとして入ってい、マニュアルを全部紙でほしい人は別売りになりました。 別売りですが、あくまでOSのオプションです。製品リストには、OS本体コアに続いてソフトウェアRAIDドライバとか、ロジカルボリュームマネージャとかいうオプション、そしてマニュアルがリストされており、そこに レ すれば一緒に買うことができました。
現在見ることができる証拠といえば、たとえば、AIXをOEM販売している日立のプレスリリース [133.145.224.19]で、AIXとAIX紙マニュアルセットを「次の製品を商品化し、販売/出荷を開始しました。」と言ってます。日立からAIXを買う場合マニュアルも併せて買えるわけです。
おまけ、たとえばVMS/Tru64UNIXだと、OSF/Motifのマニュアルは自社ではつくらず 市販品でした(Prentice Hallのやつ [amazon.co.jp])。 OSの保守契約を結んでいると、メジャーバージョンアップのたびにOSのインストールメディアと一緒にこのハードカバーの本も送られてきました!!DEC発行のマニュアルと一緒に段ボール箱に入ってどばっと。
MSがマニュアルを出版社に売らせること自体は悪いことではないと思います。ただ、OS(あるいはOSつきハードウェア)を買おうとする人が、マニュアルを一緒に買えるような状況を作ってないのはひどい、と。
Re:そうは言っても… (スコア:4, 参考になる)
今年10月に発売になるそうです(苦笑
2006年11月 Vista VLで出荷開始
2007年1月 Vista リテール販売開始
2007年4月 Windows Vista Resource Kit 英語版 初版(Microsoft Press)
2008年3月 Vista SP1提供開始
2008年7月 Windows Vista Resource Kit 英語版 第二版(Microsoft Press)
2008年10月 Microsoft Windows Vista リソースキット 導入・展開ガイド(日経
BP)
ということで少なくとも日本のMSは日本語のリソースキットを出す気はないみたいです。
参考(XWIN2さんのblog)
http://xwin2.typepad.jp/xwin2weblog/2007/04/windows_vista_r_fcdd.html [typepad.jp]
http://xwin2.typepad.jp/xwin2weblog/2008/08/windows-vista-r.html [typepad.jp]
Re:そうは言っても… (スコア:2, 興味深い)
私はMSのバグと確信してサポートに連絡したケースでサポート料金を払ったことは今のところありません。本当は切り分け・再現手順の確立のためにかかった手間の分、逆にこっちがお金貰いたいんですけどね。また、実はバグでなかった場合に料金を払わなければならないリスクを負担してまで連絡してやったのだという思いもあります。
Re:そうは言っても… (スコア:2, 参考になる)
製品にはサポートのライフ サイクルがあります。
http://support.microsoft.com/default.aspx?scid=fh;JA;lifecycle&LN=JA [microsoft.com]
現在 Windows Server 2003 までの OS であれば、現象が不具合である
ことが認められた場合には、調査過程で解析にかかる費用などについては
MS 負担となります。
Windows 2000 は現在延長サポート フェーズに突入しているからバグで
あろうがなかろうがお金がかかりますね。
Windows Server 2003, Windows XP, Windows Vista, Windows Server
2008 では不具合の場合無償対応となりますので、以下は認識の間違いかと思います。
> もっと誠実に、自分達の製品のバグをきちんと、自腹で直す(普通の会社は
> そうするもんです)ならば、こんな寄生虫のようなエンジニアは出てこない
> でしょう。
Re:そうは言っても… (スコア:2, 参考になる)
現象はウイルス対策ソフトを入れた場合に発生する。
内部実装上、ロックがキャッシュされるが、ウイルス対策ソフトが入っていると、クライアントが解放してもサーバ側で解放しないという現象が発生する。
ウイルス対策ソフトを外した状態まで問題を追い込んでいて、
ウイルス対策ソフトのメーカー サポートに問い合わせを出していれば
費用はかからなかったかもしれませんね。
確かにむずかしい問題だと思います。
Re:そうは言っても… (スコア:1)
全部32bit整数 (スコア:3, 興味深い)
未だにいるのか… (スコア:3, おもしろおかしい)
# でも Me の不安定さだけは 10% でいいので MS のせいにさせて下さい
このネタのためのような本が (スコア:3, 興味深い)
Windows プログラミングの極意 [amazon.co.jp]という本があるのですが、これはまさにこのネタの為にあるような本ですね。
題名に反してまったくプログラミングの極意などではなく、Windows に関するプログラム作成業務に携わった中でのおもしろおかしい体験談集といった感じでしょうか。ただ、大量にコードやメモリイメージが出てくるのでプログラマじゃないとかなり読みづらいかもしれませんが。
中には「クラッシュはずのないコードでクラッシュするため原因を追究してみたら、クラッシュする全員が PC をオーバークロック動作させていて定格稼働させたら問題が解決された」なんて話もあります。
しかも一部 (?) のユーザは意図的にオーバークロックさせていたのではなく、販売店がオーバークロック設定で PC を出荷していたため、というオマケつき。
# ここまで出ていないのが意外すぎる。
実際明らかに MS が悪いバグも見つけたことはありますが、大抵は作り手の問題というのが実情ですよね。
しかし MS が悪いって言って済ませる開発者/ユーザの多いこと多いこと。Vista のソフトウェア互換性に関する話も大半はそんな世界ですし。
C:\ProgramData 以下は一般ユーザにアクセス権限はないのですが、ここにフリーソフトなどでアクセスしようとしてエラーが出る→全フォルダがアクセスできるのが大前提なのでエラー処理がない→アプリクラッシュ、であっても Vista のせい、互換性がない、と叩かれるのが MS の立場ですからね。
そういった辺りを一歩抜けたレベルで話ができる人でもないと、MS のせいって言われてもすんなり受け入れられないですね。
どうせそういう人たちは他のソフトウェアであっても、まず他のソフトウェアのせいにしますから。
ありがちな話 (スコア:2, 参考になる)
……とかだったら、MSのせいにしたくなる気持ちもわからなくはないw
気持ちだけだけど。
しもべは投稿を求める →スッポン放送局がくいつく →バンブラの新作が発売される
Re:ありがちな話 (スコア:2, おもしろおかしい)
Re:ありがちな話 (スコア:2, 興味深い)
MSDN なんかのサンプルコードは実際にコンパイルを通って使えるコードにしろ、という苦情が大量に押し寄せられた結果、サンプルコードがある程度動く形にされているそうで。
もっとも、FormatMessage [microsoft.com] なんて一番使うのがサンプルの形式で、いいとこ TCHAR の配列に突っ込むかどうか程度だったりするから、これに関してはコピペでもしょうがないと思う。
バグや問題を「MSのせい」にする技術者、いませんか? (スコア:-1, フレームのもと) (スコア:2, すばらしい洞察)
明文化されていない仕様はバグと区別がつかない (スコア:2, 興味深い)
MSじゃなくても (スコア:2, 興味深い)
ベンダに払う無駄に高いサポート費用って、そうゆう受け皿的役回りにも使われてるんじゃないですか
Re:MSじゃなくても (スコア:3, 興味深い)
今から考えると結構なお金を払っていたし.
今世紀にはいり,貧乏になってi386かamd64のLinuxだらけになってからは,そういう面倒をみてくれる「ベンダの人」はいなくなった.
しかしソースコードが手元にあるのでカーネルやlibcやlibmやlibXにprintf()をいれることができるようになったし,ソースを読むことができるので各自がOSからコンパイラまで調べて理解することは可能になった(実際にできるかどうかは別だが).
知り合いのJava使いは自分専用にデバックモードを追加したrt.jarを使っているし,linuxカーネルに自家パッチやweb上に転がっているだけで誰もマージさせる気もないようなパッチをあてて使うのは当たり前.
MS Windowsの場合は標準ライブラリのソースを読んだり,妥当な価格で「ベンダの人」に調べてもらったりすることはできるのだろうか.
最近は学際的というか異業種というか外の人との共同研究的なものが増えているので,「Linuxを使えない彼らがMS-Windowsの上でも使えるように」という要求が出てくるがなんとかJavaやweb application化で対応しており,win32 nativeなアプリを書いている人は少い.
ま,いま生き残っているUNIXベンダも以前のように容易には中身をおしえてくれないか,逆に「ソースあげるから後は自分でやってね」的になっているけど.
えー (スコア:2, おもしろおかしい)
つきあたった場合、責任を転嫁できるのが
クローズドソースなソフトを選ぶ理由の一つじゃないの?
たらい回しにされたことなら (スコア:2, おもしろおかしい)
クライアントから流すと文字の抜けが。
・プリンタメーカー → OSのバグなんで、MSに対応してもらって
・MS → ドライバの作り方に問題があるんで、メーカーに対応してもらって
(以下2回ほどループ)
OSを撤去するのは難しいので、プリンタにご退場願いました。
どっちが悪いのか知りませんが、双方の対応が悪いのは間違いないと思ってます。
他にも (スコア:2, 興味深い)
今までが品質軽視だったのですよ…? (スコア:2, 興味深い)
某認証クライアントソフト (スコア:1, おもしろおかしい)
致命的に動作が固まる現象が発見されたんですが、
輸入販売元に問い合せたら「MSのバグかも」と責任回避されました。
バンドル版じゃない最新体験版だと問題ないのにMSのバグって言われてもナァ…
Re:某認証クライアントソフト (スコア:1)
Re:某認証クライアントソフト (スコア:2, すばらしい洞察)
そういうことならばその製品の開発者さんはそのバグ(またはらしきもの)の存在をご存知なわけで、
サポートにも当然知らせてあって、サポートさんは、
「最新版ではMSさんのこれこれこういうバグを回避しております」
とか
「最新版ではMSさんとこのバグらしいこれこれこういう症状があるので回避しております」
とかって言いませんかね。
人事を半分尽くして天命を待つ
MSのバグって (スコア:1, すばらしい洞察)
良くあるのはコンパイラのバグやライブラリのバグ(仕様)ですよねー。
最近はどんどん開発環境が高度になってきてるので、人が書くコードって
本当に少なくなってきてるよね。
で、最近はMSのバグだ!とか騒いでる人はあまり居ない気がするなぁ。
昔は確かに居た。あれはなんだったんだろうなぁ。
Re:誰のせいにもしないが修正もしないメーカーさんへ (スコア:3, すばらしい洞察)
Re:誰のせいにもしないが修正もしないメーカーさんへ (スコア:3, すばらしい洞察)
そりゃ報酬がないのにわざわざソフトウェアを書こうという人たちなんだから、
それにかけるモチベーションははじめから大きなものだろう。
そしてフリーウェアの作者は、仕事や学業でもプログラミングをしていることが多く、またその腕はかなり優秀。
なんったって、本業が終わった後趣味でもプログラムを作っているんだから、そりゃ上達するわな。
優秀なプログラマが、あふれるモチベーションを注いで作る、コストの上限も、締め切りも無い環境で作られる
プログラムが、出来が悪いわけが無い。
Re:誰のせいにもしないが修正もしないメーカーさんへ (スコア:3, すばらしい洞察)
いいものが欲しかったら、二度と「安くしろ」なんて言わないで下さいね。
そうしたらたっぷり時間とお金をかけて作りますから。
Re:昔聞いた話 (スコア:2, 興味深い)
あなたが耳にした事は、少なくても私の周りでは事実です。
Re:とりあえず (スコア:2, すばらしい洞察)
Excel は表計算ソフトです。
表計算ソフトで設計書を書くのがおかしいのです。