void main() { auto a = new uint[0x8F_FFFF]; // smallest size that fails a.sort; } It's caused by the hard-coded byte*[40] stack; // stack in extern (C) long _adSort(Array a, TypeInfo ti) in qsort.d. Affects both D1 and D2. This is just another reason for the built-in .sort to be deprecated.
(In reply to comment #0) > This is just another reason for the built-in .sort to be deprecated. I don't understand. How is this bug a consequence of sort being built in?
(In reply to comment #1) > (In reply to comment #0) > > This is just another reason for the built-in .sort to be deprecated. > > I don't understand. How is this bug a consequence of sort being built in? It isn't. But the fact that the built-in sort is buggy as well as slow and limited, further weakens its appeal. It just doesn't seem to have much going for it.
(In reply to comment #2) > (In reply to comment #1) > > (In reply to comment #0) > > > This is just another reason for the built-in .sort to be deprecated. > > > > I don't understand. How is this bug a consequence of sort being built in? > > It isn't. But the fact that the built-in sort is buggy as well as slow and > limited, further weakens its appeal. It just doesn't seem to have much going > for it. > I agree. By the way, if anyone has run numbers on the relative speeds of various sort implementations, please share.
http://www.dsource.org/projects/tango/ticket/571 has some old numbers.
(In reply to comment #3) > I agree. By the way, if anyone has run numbers on the relative speeds of > various sort implementations, please share. What's a run number? Anyway, here's a program I wrote a while ago to benchmark sorting algorithms: http://www.digitalmars.com/d/archives/digitalmars/D/announce/Sorting_algorithms_benchmark_7661.html http://pr.stewartsplace.org.uk/d/sortbench.d
I can't recreate this bug on 2.053. If others can confirm, close this down I guess.
Still segfaults on 1.068. And I don't think the underlying bug has actually been fixed on D2, either, even though this test case works now.
Commit pushed to phobos-1.x at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/12b9cb5db63216c33485681edc83f2f272d869f9 fix Issue 2819 - array.sort segfaults if array length >=0x8F_FFFF
Commit pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/077c1bd9948dce0a645cc5df5b9dc8919a2295fc Issue 2819 - array.sort segfaults if array length >=0x8F_FFFF
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル