Thread overview
[Issue 4795] New: new demangler + dmd test suite --> a problem
Sep 03, 2010
Brad Roberts
Sep 03, 2010
Brad Roberts
[Issue 4795] druntime demangler unittests fail
Sep 04, 2010
Brad Roberts
Sep 06, 2010
Brad Roberts
September 03, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4795

           Summary: new demangler + dmd test suite --> a problem
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: druntime
        AssignedTo: sean@invisibleduck.org
        ReportedBy: braddr@puremagic.com


--- Comment #0 from Brad Roberts <braddr@puremagic.com> 2010-09-03 02:54:09 PDT ---
One of the tests in the dmd test suite is having an issue with the new demangle code in druntime.  To reproduce, from the dmd test directory:

make test_results/runnable/eh.d.out

The stack trace via gdb:
#0  rt.dmain2._d_setunhandled (o=0x806b898) at src/rt/arrayshort.d:64
#1  0x0805d14b in rt.deh2._d_throw (h=0x806b898) at src/rt/deh2.d:103
#2  0x0806611e in core.demangle.demangle.error (msg=578358990409302030) at
src/core/cpuid.d:569
#3  0x08068c01 in core.demangle.demangle.parseSymbolName (this=0xbffff038) at
src/core/demangle.d:1188
#4  0x08068c3e in core.demangle.demangle.parseQualifiedName (this=0x806311a) at
src/core/demangle.d:1208
#5  0x0806600b in core.demangle.demangle (dst=0, buf=578671844417077272) at
src/core/demangle.d:1226
#6  0x080638a5 in core.runtime.defaultTraceHandler.DefaultTraceInfo.opApply
(this=0x2e0fc0, dg=578088651209044196) at src/core/cpuid.d:428
#7  0x0805c851 in object.Throwable.toString (this=0x2e1fc0) at
src/object_.d:1170
#8  0x0805a8ec in eh.test4 () at runnable/eh.d:164
#9  0x0805ae63 in D main () at runnable/eh.d:351
#10 0x0805d5b6 in rt.dmain2.main.runMain (this=0xbffff258) at
src/rt/arrayint.d:198
#11 0x0805d510 in rt.dmain2.main.tryExec (this=0xbffff258,
dg=578102996399813208) at src/rt/arrayfloat.d:240
#12 0x0805d5fa in rt.dmain2.main.runAll (this=0x0) at src/core/thread.d:411
#13 0x0805d510 in rt.dmain2.main.tryExec (this=0xbffff258,
dg=578103185378374232) at src/rt/arrayfloat.d:240
#14 0x0805d4b6 in rt.dmain2.main (argc=1, argv=0x1f6770) at
src/rt/arrayint.d:111
(gdb) up

The string in question, if gdb isn't lying to me: "_Dmain+0x27) [0x805ae63]"

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 03, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4795


Brad Roberts <braddr@puremagic.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |regression


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 04, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4795


Brad Roberts <braddr@puremagic.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|new demangler + dmd test    |druntime demangler
                   |suite --> a problem         |unittests fail


--- Comment #1 from Brad Roberts <braddr@puremagic.com> 2010-09-04 15:35:15 PDT ---
Rather than debugging via the dmd test suite.. the demangler fails the druntime unittests too.

I just checked out a clean druntime trunk (I forgot mine has changes to call the demangler during stack trace dumping right now, so the original report might not be reproducable there.

druntime$ make -f posix.mak unittest
druntime$ ./unittest
./unittest(_D4core7runtime18runModuleUnitTestsUZb19unittestSegvHandlerUiPS4core3sys5posix6signal9siginfo_tPvZv+0x2c)[0x807cc08]
[0xad7410]
./unittest(_d_throw+0x1b)[0x809803f]
./unittest(_D4core8demangle8demangleFAyaAaZAa5errorFAyaZv+0xe)[0x807a4da]
./unittest(_D4core8demangle8demangleFAyaAaZAa4testMFaZv+0x21)[0x807a925]
./unittest(_D4core8demangle8demangleFAyaAaZAa5matchMFaZv+0x11)[0x807a96d]
./unittest(_D4core8demangle8demangleFAyaAaZAa16parseMangledNameMFZv+0x19)[0x807c419]
./unittest(_D4core8demangle8demangleFAyaAaZAa+0x18)[0x807a404]
./unittest(_D4core8demangle11__unittest9FZv+0x50)[0x807c49c]
./unittest(_D4core8demangle9__modtestFZv+0x8)[0x807c4b8]
./unittest(_D4core7runtime18runModuleUnitTestsUZb16__foreachbody149MFKPS6object10ModuleInfoZi+0x24)[0x807cc68]
./unittest(_D6object10ModuleInfo7opApplyFMDFKPS6object10ModuleInfoZiZi+0x41)[0x807789d]
./unittest(runModuleUnitTests+0x87)[0x807cb83]
./unittest(_D2rt6dmain24mainUiPPaZi6runAllMFZv+0x20)[0x80986b4]
./unittest(_D2rt6dmain24mainUiPPaZi7tryExecMFMDFZvZv+0x24)[0x80985dc]
./unittest(main+0x96)[0x8098582]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x126bd6]
./unittest[0x8074e01]
Segmentation fault

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 06, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4795


Brad Roberts <braddr@puremagic.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


--- Comment #2 from Brad Roberts <braddr@puremagic.com> 2010-09-05 19:17:11 PDT ---
Fixed by Sean in druntime commits r384 and r385

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------