www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 4185] New: Existence of an empty, uncalled function that takes an argument generates segfaulting executable.

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185

           Summary: Existence of an empty, uncalled function that takes an
                    argument generates segfaulting executable.
           Product: D
           Version: 2.041
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: blood.of.life gmail.com



17:01:02 PDT ---
void* bar;
    void foo(void*) {}
    void baz() { foo(bar); }
    void main() {}

This code causes DMD to produce an executable that segfaults inside of
GC.collect.

    (gdb) bt

_D4core6thread17thread_suspendAllUZv7suspendMFC4core6thread6ThreadZv ()









However, in the course of boiling down a test case, the segfault has moved
around with great regularity (inside of a library SO, inside of libc.exit,
whilst appending to an array, the list goes on), so I'm speculating that it's
some kind of memory corruption. 

This occurs on Linux using D2, neither D1 nor Windows using D1,D2 manifests
this issue.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 13 2010
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185


Bernard Helyer <blood.of.life gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Existence of an empty,      |Existence of an empty,
                   |uncalled function that      |uncalled function that
                   |takes an argument generates |takes an argument generates
                   |segfaulting executable.     |segfaulting executable
                   |                            |using DMD >= 2.044.



17:02:29 PDT ---
I forgot to say that this issue occurs when using DMD 2.044 and up.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 13 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185




03:58:06 PDT ---
If bar is declared as __gshared, the executable behaves correctly.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 14 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185


Steven Schveighoffer <schveiguy yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |schveiguy yahoo.com



04:58:16 PDT ---
I can't reproduce this on Linux 2.045 and the current beta.  Can you try a
clean install of the compiler?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 14 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185




05:07:13 PDT ---
Yep.

What arch are you on? How much memory do you have installed (myself == x86, 1.5
GiB). Like I said, I think this is memory corruption of some description, so
it's bound to be nebulous.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 14 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185




05:10:31 PDT ---
I'm on x86 1 Gb.

What flags do you pass to the compiler?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 14 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185




05:13:33 PDT ---
None: dmd testmodule

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 14 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185




05:14:16 PDT ---
Steve, could you run it in valgrind?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 14 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185




05:14:37 PDT ---
Steven, sorry. :o

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 14 2010
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4185


Bernard Helyer <blood.of.life gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID
            Summary|Existence of an empty,      |Existence of an empty,
                   |uncalled function that      |uncalled function that
                   |takes a TLS variable as its |takes a TLS variable as its
                   |parameter generates         |parameter generates
                   |segfaulting executable      |segfaulting executable
                   |using DMD >= 2.044.         |using DMD >= 2.044 and the
                   |                            |GOLD linker.



23:14:52 PDT ---
Okay, this only occurs when the GNU GOLD linker is installed instead of the
vanilla. This could be a bug in DMD, but it's probably GOLD, so closing this as
INVALID.

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