www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Dustmiting a dmft assert

reply Nicholas Wilson <iamthewilsonator hotmail.com> writes:
so
$core.exception.AssertError /Users/nicholaswilson/d/phobos/std/conv.d(4061):
emplace: Chunk is not aligned.
----------------
4   dfmt                                0x0000000109536ace 
_d_assert_msg + 142
5   dfmt                                0x00000001094d600f 
dparse.ast.IdentifierOrTemplateChain 
dparse.parser.Parser.parseIdentifierOrTemplateChain() + 363
6   dfmt                                0x00000001094e176e 
dparse.ast.Symbol dparse.parser.Parser.parseSymbol() + 474
7   dfmt                                0x00000001094e53bb 
dparse.ast.Type2 dparse.parser.Parser.parseType2() + 967
8   dfmt                                0x00000001094e4ce4 
dparse.ast.Type dparse.parser.Parser.parseType() + 680
9   dfmt                                0x00000001094cecb6 
dparse.ast.Declaration 
dparse.parser.Parser.parseDeclaration(bool, bool) + 10850
10  dfmt                                0x00000001094e05f9 
dparse.ast.StructBody dparse.parser.Parser.parseStructBody() + 725
11  dfmt                                0x00000001094e0a50 
dparse.ast.StructDeclaration 
dparse.parser.Parser.parseStructDeclaration() + 732
12  dfmt                                0x00000001094ce858 
dparse.ast.Declaration 
dparse.parser.Parser.parseDeclaration(bool, bool) + 9732
13  dfmt                                0x00000001094da95b 
dparse.ast.Module dparse.parser.Parser.parseModule() + 951
14  dfmt                                0x0000000109409b83 void 
dfmt.formatter.format!(std.stdio.File.LockingTextWriter).forma
(immutable(char)[], ubyte[], std.stdio.File.LockingTextWriter,
dfmt.config.Config*) + 639
15  dfmt                                0x00000001093dd72f _Dmain 
+ 4575
16  dfmt                                0x0000000109548467 
D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv + 39
17  dfmt                                0x000000010954839f void 
rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).tryExec(scope void delegate()) + 55
18  dfmt                                0x000000010954840c void 
rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).runAll() + 44
19  dfmt                                0x000000010954839f void 
rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).tryExec(scope void delegate()) + 55
20  dfmt                                0x00000001095482f1 
_d_run_main + 497
21  dfmt                                0x00000001093dd86f main + 
15
22  libdyld.dylib                       0x00007fff8fa7e5fc start 
+ 0
23  ???                                 0x0000000000000001 0x0 + 1

$ dustmite folder " dfmt out.d 2>&1 | grep -qF 
\"core.exception.AssertError /Users/nicholaswilson/d/phobos/std/conv.d(4061):
emplace: Chunk is not aligned.\"" | dev/null

$ cat folder/out.d
  T     ;

I don't really care about that as a reduced test case. Make it 
compile too.

$rm -r folder.reduced
$ dustmite folder " dfmt out.d 2>&1 | grep -qF 
\"core.exception.AssertError /Users/nicholaswilson/d/phobos/std/conv.d(4061):
emplace: Chunk is not aligned.\" && dmd -c out.d "
None => No
object.Exception dustmite.d(244): Initial test fails
----------------
4   dustmite                            0x0000000103ddfecf _Dmain 
+ 2847
5   dustmite                            0x0000000103e646e7 
D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv + 39
6   dustmite                            0x0000000103e6461f void 
rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).tryExec(scope void delegate()) + 55
7   dustmite                            0x0000000103e6468c void 
rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).runAll() + 44
8   dustmite                            0x0000000103e6461f void 
rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).tryExec(scope void delegate()) + 55
9   dustmite                            0x0000000103e64571 
_d_run_main + 497
10  dustmite                            0x0000000103de075f main + 
15
11  libdyld.dylib                       0x00007fff8fa7e5fc start 
+ 0
12  ???                                 0x0000000000000002 0x0 + 2

any suggestions?
Mar 30 2016
next sibling parent Nicholas Wilson <iamthewilsonator hotmail.com> writes:
On Wednesday, 30 March 2016 at 09:06:20 UTC, Nicholas Wilson 
wrote:
 so
Oops. should be $ dfmt out.d
 core.exception.AssertError /Users/nicholaswilson/d/phobos/std/conv.d(4061):
emplace: Chunk is not aligned.
 ----------------
Mar 30 2016
prev sibling parent Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Wednesday, 30 March 2016 at 09:06:20 UTC, Nicholas Wilson 
wrote:
 object.Exception dustmite.d(244): Initial test fails
Works for me: $ cat src/test.d import std.stdio; void main() { writeln("foo"); writeln("bar"); } $ dustmite src "cat test.d 2>&1 | grep -qF foo && dmd -c test.d" [...] Done in 31 tests and 443 ms; reduced version is in src.reduced $ cat src.reduced/test.d import std.stdio; void main() { writeln("foo"); } I guess make sure the dmd command succeeds on the initial file.
Mar 30 2016