Jump to page: 1 2
Thread overview
[Issue 3544] New: optlink unexpected termination 0041338f
Nov 23, 2009
Don
Nov 24, 2009
Don
Nov 24, 2009
Don
[Issue 3544] optlink termination 0041338f with recursive nested functions
Nov 25, 2009
Don
Nov 25, 2009
Don
Nov 30, 2009
Walter Bright
Jan 13, 2010
Don
Feb 11, 2010
Don
Sep 02, 2010
Walter Bright
Sep 02, 2010
Don
November 23, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544

           Summary: optlink unexpected termination 0041338f
           Product: D
           Version: 1.051
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Optlink
        AssignedTo: nobody@puremagic.com
        ReportedBy: anteusz@freemail.hu


--- Comment #0 from anteusz@freemail.hu 2009-11-23 04:38:17 PST ---
Hi,

I compiled and linker a program -debug and the linker crashed.
If I use -release flag , then the linker does not crash but then the program
crashes.
The program uses CTFE which may have to do with the crash.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 23, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544



--- Comment #1 from anteusz@freemail.hu 2009-11-23 04:39:21 PST ---
Created an attachment (id=515)
the picture of the error

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 23, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544



--- Comment #2 from anteusz@freemail.hu 2009-11-23 04:41:33 PST ---
The program uses a large compile-time generated function which seems to contribute to the problem.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 23, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug@yahoo.com.au


--- Comment #3 from Don <clugdbug@yahoo.com.au> 2009-11-23 07:08:37 PST ---
The picture doesn't help at all. You need to provide a source file which will reproduce the error.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 24, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544



--- Comment #4 from anteusz@freemail.hu 2009-11-24 04:45:08 PST ---
Created an attachment (id=516)
one file that causes the problem

this if compiled as

dmd.exe -g compilerfailuretest.d

will produce the error.
Note download this file
too:http://www.dsource.org/projects/scregexp/browser/trunk/scregexp.d
That file is needed to place it in the same directory where
compilerfailuretest.d is located.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 24, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |link-failure


--- Comment #5 from Don <clugdbug@yahoo.com.au> 2009-11-24 05:00:29 PST ---
(In reply to comment #4)
> Created an attachment (id=516) [details]
> one file that causes the problem
> 
> this if compiled as
> 
> dmd.exe -g compilerfailuretest.d
> 
> will produce the error.
> Note download this file
> too:http://www.dsource.org/projects/scregexp/browser/trunk/scregexp.d
> That file is needed to place it in the same directory where
> compilerfailuretest.d is located.

Thanks, I can reproduce the bug now.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 24, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544



--- Comment #6 from anteusz@freemail.hu 2009-11-24 05:04:37 PST ---
it is possible to influence the occurance of the error by
reducing the size of
the statement ...auto perlreg = new
screg!("/(?:(?<tok>\\#(?:.*?(?:"~eol~")|.*\\z))|
(?<tok>\"(?:(?>\\\\\\\\|\\\\\"|.))*?\")|

when parameter is smaller, the error does not occur.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 24, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #515 is|0                           |1
           obsolete|                            |
 Attachment #516 is|0                           |1
           obsolete|                            |


--- Comment #7 from Don <clugdbug@yahoo.com.au> 2009-11-24 06:22:39 PST ---
Created an attachment (id=517)
Somewhat reduced test case.

This cuts it down to a single, self-contained file. (Funny -- I recognize my own code in there -- almost all the comments are mine!) There's plenty of work still to be done in cutting in right down.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 25, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|optlink unexpected          |optlink termination
                   |termination 0041338f        |0041338f with recursive
                   |                            |nested functions


--- Comment #8 from Don <clugdbug@yahoo.com.au> 2009-11-25 05:16:07 PST ---
Completely reduced test case shows it's due to nested functions.
----------
char[] foo(int n) {
  if (n == 0)  return "void xxxx() {}";
  return "void xxxx() { void yyyy() { }" ~ foo(n-1) ~ "}";
}

mixin (foo(400));

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 25, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3544



--- Comment #9 from Don <clugdbug@yahoo.com.au> 2009-11-25 05:29:15 PST ---
Even smaller test case. Seems it happens with a depth around 512; it's probably exceeding the maximum symbol length.
---
char[] foo(int n) {
  return "void abcde() {" ~ ( n>0 ? foo(n-1): "") ~ "}";
}

mixin (foo(500));

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
« First   ‹ Prev
1 2