Thread overview | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
May 12, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 Martin Nowak <code@dawg.eu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |code@dawg.eu --- Comment #1 from Martin Nowak <code@dawg.eu> --- Fails on _D3std3uni53__T11TrieBuilderTbTuTS3std3uni14__T5clampVmi7Z5clampZ11TrieBuilder8putRangeMFNeuubZ12__dgliteral4MFNaNbNiNfZAxa while trying to decode the function type of FNeuubZ12__dgliteral4MFNaNbNiNfZAxa or so. -- |
May 12, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 Vladimir Panteleev <thecybershadow@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |thecybershadow@gmail.com --- Comment #2 from Vladimir Panteleev <thecybershadow@gmail.com> --- Can you get a stack trace? http://wiki.dlang.org/InvalidMemoryOperationError -- |
May 14, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 Iain Buclaw <ibuclaw@gdcproject.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ibuclaw@gdcproject.org Severity|normal |regression --- Comment #3 from Iain Buclaw <ibuclaw@gdcproject.org> --- (gdb) bt #0 onInvalidMemoryOperationError (pretend_sideffect=0x0) at src/core/exception.d:536 #1 0x00000000004dd558 in _d_arrayshrinkfit (ti=0x5275f0 <TypeInfo_Aa.init$>, arr=...) at src/rt/lifetime.d:684 #2 0x00000000004c6906 in object.assumeSafeAppend!(char).assumeSafeAppend(ref inout(char[])) (arr=0x773518) at ./../../src/druntime/import/object.di:662 #3 0x00000000004c5f5e in std.stdio.File.ByLineImpl!(char, char).ByLineImpl.popFront() (this=0x773500) at ./../../src/phobos/std/stdio.d:1677 #4 0x00000000004c5d1b in std.stdio.File.ByLine!(char, char).ByLine.popFront() (this=0x7fffffffda08) at ./../../src/phobos/std/stdio.d:1624 #5 0x00000000004a62be in D main (args=...) at ddemangle.d:79 (gdb) up #1 0x00000000004dd558 in _d_arrayshrinkfit (ti=0x5275f0 <TypeInfo_Aa.init$>, arr=...) at src/rt/lifetime.d:684 (gdb) p info $1 = {base = 0x7ffff7ee8400, size = 1024, attr = 10} (gdb) p newsize $2 = 1023 (gdb) p tinext $3 = (object.TypeInfo *) 0x5279c0 <TypeInfo_a.init$> Going to upgrade this to regression: https://github.com/D-Programming-Language/druntime/commit/0b72987df17354c83bc302672f4f132fe03db65a https://github.com/D-Programming-Language/druntime/commit/e25cab10d763b36b9c63c62e3713134a137e2760 It throws because newsize + 2 overflows 1024, so assumeSafeAppend fails. -- |
May 14, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 --- Comment #4 from Iain Buclaw <ibuclaw@gdcproject.org> --- OK, got a reduced test: --- import std.stdio; void main() { foreach (line; stdin.byLine()) { } } --- Only require two lines of stdin with the following constraints: #1 Line: Length >= 510 && Length <= 1021 #2 Line: Length == 1023 -- |
May 14, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 ag0aep6g@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ag0aep6g@gmail.com --- Comment #5 from ag0aep6g@gmail.com --- (In reply to Iain Buclaw from comment #4) > OK, got a reduced test: > > --- > import std.stdio; > void main() > { > foreach (line; stdin.byLine()) > { > } > } > --- > > Only require two lines of stdin with the following constraints: > > #1 Line: Length >= 510 && Length <= 1021 > #2 Line: Length == 1023 Duplicate of issue 14005 and in turn of issue 13856? -- |
May 22, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla@digitalmars.com --- Comment #6 from Walter Bright <bugzilla@digitalmars.com> --- (In reply to Iain Buclaw from comment #3) > Going to upgrade this to regression: https://github.com/D-Programming-Language/druntime/commit/ 0b72987df17354c83bc302672f4f132fe03db65a https://github.com/D-Programming-Language/druntime/commit/ e25cab10d763b36b9c63c62e3713134a137e2760 > > It throws because newsize + 2 overflows 1024, so assumeSafeAppend fails. I don't get what those changes have to do with the last sentence. -- |
May 22, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 --- Comment #7 from Iain Buclaw <ibuclaw@gdcproject.org> --- (In reply to Walter Bright from comment #6) > (In reply to Iain Buclaw from comment #3) > > Going to upgrade this to regression: https://github.com/D-Programming-Language/druntime/commit/ 0b72987df17354c83bc302672f4f132fe03db65a https://github.com/D-Programming-Language/druntime/commit/ e25cab10d763b36b9c63c62e3713134a137e2760 > > > > It throws because newsize + 2 overflows 1024, so assumeSafeAppend fails. > > I don't get what those changes have to do with the last sentence. __setArrayAllocLength returns false if newlength+padding exceeds the size allocated to the array. Before, it just blissfully ignored this assertion and let the program continue. What's interesting in the context of this failure, however, is that newlength == oldlength. -- |
May 22, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 Steven Schveighoffer <schveiguy@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |schveiguy@yahoo.com --- Comment #8 from Steven Schveighoffer <schveiguy@yahoo.com> --- (In reply to Iain Buclaw from comment #4) > OK, got a reduced test: > > --- > import std.stdio; > void main() > { > foreach (line; stdin.byLine()) > { > } > } > --- > > Only require two lines of stdin with the following constraints: > > #1 Line: Length >= 510 && Length <= 1021 > #2 Line: Length == 1023 I can't reproduce this. I made a file with 2 lines, one is 520 bytes, the other is 1023 bytes (I tried adding and subtracting one character to the second line in case you were including newlines in that requirement). Still works without asserting. This is with 2.067 on OSX. -- |
June 02, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 --- Comment #9 from Steven Schveighoffer <schveiguy@yahoo.com> --- I think this might be a duplicate of https://issues.dlang.org/show_bug.cgi?id=13856 I still cannot reproduce this. -- |
June 02, 2015 [Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14578 --- Comment #10 from Steven Schveighoffer <schveiguy@yahoo.com> --- I finally reproduced with 2.067 and 2.067.1, it's definitely Linux specific. However, this is fixed in the HEAD version (at least using your reduced test case). Can you confirm whether this bug is fixed in HEAD for you, Iain? -- |
Copyright © 1999-2021 by the D Language Foundation