250項目のテーブルの自動生成Dao.D2_SELECT処理でスタックオーバーフローが発生する。

58 views
Skip to first unread message

nishi.74322014

unread,
Jun 10, 2019, 8:44:14 PM6/10/19
to OpenTouryoProject
> 250項目のテーブル

これ、テーブルの列数 ≒ XMLタグ数が多いと思います。
また、これだと性能的にも問題があると思います。

一応、新しく、SQLキャッシュができるようにしていますが、

 Open棟梁:Dao自動生成機能の潜在的な性能問題が完全に解決される。 - OSSコンソーシアム

しかし、これは、スタックオーバーフロー対策ではないので、
自動生成Daoのタグを減らしてもらうなどの対応しか方法は無いと思います。

...

なお、IIS(w3wp.exe)ではスタックサイズが小さいらしいです。

----------------------------------------------------------------------------------------------------
[08011] 64ビット(x64)環境で実行した場合、初回起動に時間がかかったり、
例外が発生したりする - ActiveReports for .NET 6.0J Standard
 - ナレッジベースの詳細|Developer Tools - グレープシティ株式会社
 IISのワーカープロセスのスタックサイズが小さい
 (64ビットで動作するw3wp.exeの場合、
 ワーカースレッドのスタックサイズは既定で 512 キロバイト)
 ため、Windowsアプリケーションに比べて例外が発生する可能性が高くなります。
----------------------------------------------------------------------------------------------------

.NETのスタックサイズは、

 C#(WPF)アプリのスタックサイズの変更方法 - Qiita

editbinを使用して変更できるようです。

Webアプリにも適用できるか?ですが、

 Stack sizes in IIS – affects ASP.NETASP.NET Debugging

Webアプリにも適用できそうです。

nishi.74322014

unread,
Sep 2, 2019, 9:57:16 PM9/2/19
to OpenTouryoProject
...対応しました。

Issue #341 · OpenTouryoProject/OpenTouryo
Change the implementation of recursion to loop for suppress stack overflow in BaseDam.
Reply all
Reply to author
Forward
0 new messages