[Issue 14578] [ddemangle] core.exception.InvalidMemoryOperationError@(0) handling large symbol list

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Thu May 14 03:33:40 PDT 2015


https://issues.dlang.org/show_bug.cgi?id=14578

Iain Buclaw <ibuclaw at gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw at gdcproject.org
           Severity|normal                      |regression

--- Comment #3 from Iain Buclaw <ibuclaw at 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.

--


More information about the Digitalmars-d-bugs mailing list