アカウント名:
パスワード:
32bit環境だと仮想メモリ空間は通常2GBまでなので、うっかりメモリポインタを符号付きな変数にキャストしちゃったとか、判定で溢れさせたのかね。
32bit版OSだとOSの設定を変更しないと発覚しないし、64bitネイティブだとこれまたポインタ変数がデカいから平気。WOW64環境下で動く、32bit版でLarge Address Aware対応のアプリが死ぬと。
でも、そんなLarge Address Aware対応してまでメモリを沢山使いたいアプリは64bitにとっとと移行してるから、不具合踏む人は少数派だろうね。32bit自体の古いアプリをずっと使い続けてるとか。
CopyFile()というAPIのバグだから、言ってることの大半は間違ってるよ。
断続的に発症というのが不思議です。初期化してない変数を参照したようなことかな?Qiita [qiita.com]
アプリケーションを Large Address Aware 対応にしたいのであれば、Integer によるポインタ操作をしていない事が条件です。ポインタを Integer でキャストしている場合には正常動作しない可能性があります
ってな記述をみると、CopyFile()にポインタをIntegerにしている箇所があって、たまたま上位アドレスが0なアドレスの範囲なら動くけど、それを越えたらダメとか?
そのAPIのバグが起きた理由として想像した内容なんだけど、どの辺が間違いか指摘してくださいな。
その再現性がかなり低いだろう理由についても元コメの推測がかなり尤もらしいと思うけど。どの辺の間違いを指摘してるのかよくわからん。
再試行で成功する可能性が高いらしいけど、再試行みたいな短時間で上位アドレスが変わるってのも変な気が。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人
ポインタ周りをミスったか (スコア:0, 参考になる)
32bit環境だと仮想メモリ空間は通常2GBまでなので、うっかりメモリポインタを符号付きな変数にキャストしちゃったとか、判定で溢れさせたのかね。
32bit版OSだとOSの設定を変更しないと発覚しないし、
64bitネイティブだとこれまたポインタ変数がデカいから平気。
WOW64環境下で動く、32bit版でLarge Address Aware対応のアプリが死ぬと。
でも、そんなLarge Address Aware対応してまでメモリを沢山使いたいアプリは64bitにとっとと移行してるから、不具合踏む人は少数派だろうね。
32bit自体の古いアプリをずっと使い続けてるとか。
Re:ポインタ周りをミスったか (スコア:0)
CopyFile()というAPIのバグだから、言ってることの大半は間違ってるよ。
Re:ポインタ周りをミスったか (スコア:3, 参考になる)
断続的に発症というのが不思議です。初期化してない変数を参照したようなことかな?
Qiita [qiita.com]
アプリケーションを Large Address Aware 対応にしたいのであれば、Integer によるポインタ操作をしていない事が条件です。ポインタを Integer でキャストしている場合には正常動作しない可能性があります
ってな記述をみると、CopyFile()にポインタをIntegerにしている箇所があって、たまたま上位アドレスが0なアドレスの範囲なら動くけど、それを越えたらダメとか?
Re: (スコア:0)
そのAPIのバグが起きた理由として想像した内容なんだけど、どの辺が間違いか指摘してくださいな。
Re:ポインタ周りをミスったか (スコア:1)
Re: (スコア:0)
その再現性がかなり低いだろう理由についても元コメの推測がかなり尤もらしいと思うけど。
どの辺の間違いを指摘してるのかよくわからん。
Re: (スコア:0)
再試行で成功する可能性が高いらしいけど、再試行みたいな短時間で上位アドレスが変わるってのも変な気が。