Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clangのAST解析が落ちる #32

Open
yossi-tahara opened this issue Mar 29, 2017 · 0 comments

Comments

@yossi-tahara
Copy link
Owner

commented Mar 29, 2017

一度使用したクラスについて、定義と使用の両方を同時に消した時に発生します。
一度使用すると、*.theolizer.hppにそのシリアライズ用定義が生成されます。
この定義が残っている状態でクラス定義を削除すると、clangのAST解析がメモリ不正アクセスで落ちます。
暫定対策として、問題発生時、最後のエラーを表示して処理中断するようにしました。
そのエラー・メッセージにより、一旦当該クラスの定義のみ戻して(使用はしない)、ビルドすることで回復できます。

恒久対策は、clangにて落ちないようにするしかないと思われます。
すぐには厳しいので、当問題を記録しておきます。

なお、当問題が発生することを確認したllvmのバージョンは3.9.0です。

yossi-tahara added a commit that referenced this issue Mar 30, 2017

clangがAST解析中に落ちることがあるので、それに暫定的に対処。 Issue #32
  boost::excution_monitorにて捕まえて、clangが最後に報告したエラー・メッセージを表示する。
  当コミットはそのエラーが発生する。
    原因はModifyFullAutoをver1aで使用しているが、ver1bでは未定義のためである。
    一度使ったクラスを先に削除するとclangが正常動作しないと言うこと。
    定義を削除する前に、使用するのを止めてビルドしてから削除すれば回避は可能。

----------------- MD5 Hash Values -----------------
TheolizerDriver  : 8e4428ee12d80f8fb310d40920609c2c
TheolizerLibrary : 715ec3dfa1542059766bd8c61c0c1ec2
Library's Header : 292acd24d862a32dfa86575705e25f81
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.