アカウント名:
パスワード:
今回の不具合はこんなプロセスみたい。
1) 新しいIMEでON/OFF時に浮動小数点例外が発生する 診断データの送信をONにすると発生するので、診断データの生成時に何らかの計算をして発生してる?
2) IME側で浮動小数点例外処理を行ってないので呼び出してるアプリで浮動小数点例外が発生する
3) Delphi/C++Builder は浮動小数点例外がデフォルトで有効になってる VC++は浮動小数点例外がデフォルトで無効になってる
4) 想定外(UI)のところで浮動小数点例外が発生するのでアプリが落ちる
Delphi/C++Builderのアプリは(使ってないなら)浮動小数点例外を無効にすれば大丈夫。使用するVCLによっては勝手に浮動小数点例外を無効にするので不具合が発生しない。(↓をしないと浮動小数点例外処理が動かなくなるという副作用がある)使ってる場合は計算で発生する部分だけピンポイントで浮動小数点例外を有効にするとかしないといけない。
知る必要もないのに浮動小数点例外を有効にするやつがいることにちょっとびっくり。(Delphi/C++Builderが悪い)
浮動小数点例外っていっても、IEEE754のやつだったら要因はいろいろあるけど、Invalid Operationが起きてるのか?ふつうNaNを伝搬させるからいいだろとか思ってるとこうなるわけかな?
しかし3)のDelphi/C++Builderは浮動小数点例外がデフォルトで有効っていっても、InexactだのUnderflowだのはOFFになってるよね? めんどくさすぎだろ。
浮動小数点例外といえばPC-9801シリーズ用Windows95
トラップ部分にバグがあり、たとえば -1の平方根を取るとブルースクリーン(PC-9801用はハードウェアの仕様の都合で青くないのだが)になる。Windows98では浮動小数点例外のダイアログボックスが出るだけで落ちなくなった。
無効だと try catch で浮動小数点数例外補足できないじゃん
1) 新しいIMEでON/OFF時に浮動小数点例外が発生する
IEEE Doubleのデフォルトに合わせてプログラム側でチェックさせたほうがいいと思う。
# rustはそうなってる
スラド民は、インストールしてすぐに、プライバシー重視側設定にして、診断データとか取得しない・送らない設定にしてそう
多くの大企業も、プライバシー重視設定にしてるはず
これはスラド民や大企業に限らずそう。UWPアプリ公開してるけど、エラーの詳細が送られてくる割合は1割とか。正確には一ヶ月で「ハングやクラッシュした日時だけ分かる」160:「エラー名が分かる(意味は分からない)」19:「ダンプがダウンロードできる」1って感じ。ダンプ貰っても仕方ないけどね。ただ過去に落ちるバグ入りのままリリースした時はクラッシュ数が急増して冷や汗かいた。
> エラーの詳細が送られてくる割合は1割とか。
分母がわからないと…エラー発生件数に対して一割なら「診断データ送らなくても件数はわかるの?」だし、アプリのダウンロード数(≒ユーザー数)が分母なら10%ってけっこう多いと思えるし。
>> 「ハングやクラッシュした日時だけ分かる」160:「エラー名が分かる(意味は分からない)」19:「ダンプがダウンロードできる」1
ってしっかり書いてるけど。3行以上の文章が読めないの?
ハングやクラッシュしたら、必ず報告が上がってくるんか?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
問題の核心は診断データの生成かも (スコア:3, 参考になる)
今回の不具合はこんなプロセスみたい。
1) 新しいIMEでON/OFF時に浮動小数点例外が発生する
診断データの送信をONにすると発生するので、診断データの生成時に何らかの計算をして発生してる?
2) IME側で浮動小数点例外処理を行ってないので呼び出してるアプリで浮動小数点例外が発生する
3) Delphi/C++Builder は浮動小数点例外がデフォルトで有効になってる
VC++は浮動小数点例外がデフォルトで無効になってる
4) 想定外(UI)のところで浮動小数点例外が発生するのでアプリが落ちる
Delphi/C++Builderのアプリは(使ってないなら)浮動小数点例外を無効にすれば大丈夫。
使用するVCLによっては勝手に浮動小数点例外を無効にするので不具合が発生しない。
(↓をしないと浮動小数点例外処理が動かなくなるという副作用がある)
使ってる場合は計算で発生する部分だけピンポイントで浮動小数点例外を有効にするとかしないといけない。
Re:問題の核心は診断データの生成かも (スコア:1)
// 言っとけ
Re: (スコア:0)
知る必要もないのに浮動小数点例外を有効にするやつがいることにちょっとびっくり。(Delphi/C++Builderが悪い)
浮動小数点例外っていっても、IEEE754のやつだったら要因はいろいろあるけど、Invalid Operationが起きてるのか?
ふつうNaNを伝搬させるからいいだろとか思ってるとこうなるわけかな?
しかし3)のDelphi/C++Builderは浮動小数点例外がデフォルトで有効っていっても、InexactだのUnderflowだのはOFFになってるよね? めんどくさすぎだろ。
Re: (スコア:0)
浮動小数点例外といえばPC-9801シリーズ用Windows95
トラップ部分にバグがあり、たとえば -1の平方根を取るとブルースクリーン(PC-9801用はハードウェアの仕様の都合で青くないのだが)になる。
Windows98では浮動小数点例外のダイアログボックスが出るだけで落ちなくなった。
Re: (スコア:0)
無効だと try catch で浮動小数点数例外補足できないじゃん
IEEE Double (スコア:0)
IEEE Doubleのデフォルトに合わせてプログラム側でチェックさせたほうがいいと思う。
# rustはそうなってる
Re: (スコア:0)
スラド民は、インストールしてすぐに、プライバシー重視側設定にして、
診断データとか取得しない・送らない設定にしてそう
多くの大企業も、プライバシー重視設定にしてるはず
Re: (スコア:0)
これはスラド民や大企業に限らずそう。
UWPアプリ公開してるけど、エラーの詳細が送られてくる割合は1割とか。
正確には一ヶ月で
「ハングやクラッシュした日時だけ分かる」160:「エラー名が分かる(意味は分からない)」19:「ダンプがダウンロードできる」1
って感じ。
ダンプ貰っても仕方ないけどね。
ただ過去に落ちるバグ入りのままリリースした時はクラッシュ数が急増して冷や汗かいた。
Re: (スコア:0)
> エラーの詳細が送られてくる割合は1割とか。
分母がわからないと…
エラー発生件数に対して一割なら「診断データ送らなくても件数はわかるの?」だし、
アプリのダウンロード数(≒ユーザー数)が分母なら10%ってけっこう多いと思えるし。
Re: (スコア:0)
>> 「ハングやクラッシュした日時だけ分かる」160:「エラー名が分かる(意味は分からない)」19:「ダンプがダウンロードできる」1
ってしっかり書いてるけど。3行以上の文章が読めないの?
Re: (スコア:0)
ハングやクラッシュしたら、必ず報告が上がってくるんか?