|
Archives
D Programming
digitalmars.Ddigitalmars.D.bugs digitalmars.D.dtl digitalmars.D.ide digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger D.gnu D C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript electronics |
DMDScript - DMDScript completely broken
The problem:
I built the 'ds' program and tried to compile "sieve.ds" with it. The
result was a segmentation fault. I recompiled in debug mode and tried
again, using a debugger this time. An assertion was triggered at
value.d:717:
(gdb) list
712 case V_OBJECT:
713 if (v.object == object)
714 return 0;
715 break;
716 default:
717 assert(0);
718 }
719 return -1;
720 }
721
The switch is testing against the variable this.vtype, whose
value turns out to be 0 (V_NONE), which is not tested for by
the switch. The complete value of "this" was:
(gdb) print *this
$12 = {vtype = 0 '\0', hash = 0, dbool = 0, number = 0,
string = {length = 0, ptr = 0x0},
object = 0x0, int32 = 0, uint32 = 0, uint16 = 0, iter = 0x0}
Some information about the host system:
OS: Debian Lenny (stable).
Output of "uname -a": Linux cpe-71-72-214-60 2.6.22-2-686 #1 SMP Fri
Aug 31 00:24:01 UTC 2007 i686 GNU/Linux
D Compiler: gdc (GCC) 4.1.3 20080623 (prerelease gdc 0.25 20080419,
using dmd 1.024) (Debian 0.25-20080616-4.1.2-23.2) Copyright (C) 2006
DMDScript version: UNKNOWN (downloaded today from
http://ftp.digitalmars.com/dmdscript.zip).
Jun 17 2009
Please try my fork of DMDScript - It's used quite a bit, as I've written a JS compresser / documenter with it. http://www.akbkhome.com/svn/rooscript/ I do remember this bug a while back, cant' remember the fix, but I think it's fixed in rooscript. Regards Alan Anomymous Coward wrote: Jun 18 2009
|