Thread overview | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
May 14, 2010 [Issue 4185] New: Existence of an empty, uncalled function that takes an argument generates segfaulting executable. | ||||
---|---|---|---|---|
| ||||
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 --- Comment #0 from Bernard Helyer <blood.of.life@gmail.com> 2010-05-13 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 #0 0x08050aa2 in _D4core6thread17thread_suspendAllUZv7suspendMFC4core6thread6ThreadZv () #1 0x08050a1b in thread_suspendAll () #2 0x0804decd in _D2gc3gcx3Gcx11fullcollectMFPvZk () #3 0x0804deae in _D2gc3gcx3Gcx16fullcollectshellMFZk () #4 0x0804d115 in _D2gc3gcx2GC18fullCollectNoStackMFZv () #5 0x0804bd20 in gc_term () #6 0x0804a9b0 in _D2rt6dmain24mainUiPPaZi6runAllMFZv () #7 0x0804a8b9 in _D2rt6dmain24mainUiPPaZi7tryExecMFMDFZvZv () #8 0x0804a868 in main () 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 14, 2010 [Issue 4185] Existence of an empty, uncalled function that takes an argument generates segfaulting executable using DMD >= 2.044. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | 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. --- Comment #1 from Bernard Helyer <blood.of.life@gmail.com> 2010-05-13 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 14, 2010 [Issue 4185] Existence of an empty, uncalled function that takes a global variable as its parameter generates segfaulting executable using DMD >= 2.044. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | http://d.puremagic.com/issues/show_bug.cgi?id=4185 --- Comment #2 from Bernard Helyer <blood.of.life@gmail.com> 2010-05-14 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 [Issue 4185] Existence of an empty, uncalled function that takes a TLS variable as its parameter generates segfaulting executable using DMD >= 2.044. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | http://d.puremagic.com/issues/show_bug.cgi?id=4185 Steven Schveighoffer <schveiguy@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |schveiguy@yahoo.com --- Comment #3 from Steven Schveighoffer <schveiguy@yahoo.com> 2010-05-14 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 [Issue 4185] Existence of an empty, uncalled function that takes a TLS variable as its parameter generates segfaulting executable using DMD >= 2.044. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | http://d.puremagic.com/issues/show_bug.cgi?id=4185 --- Comment #4 from Bernard Helyer <blood.of.life@gmail.com> 2010-05-14 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 [Issue 4185] Existence of an empty, uncalled function that takes a TLS variable as its parameter generates segfaulting executable using DMD >= 2.044. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | http://d.puremagic.com/issues/show_bug.cgi?id=4185 --- Comment #5 from Steven Schveighoffer <schveiguy@yahoo.com> 2010-05-14 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 [Issue 4185] Existence of an empty, uncalled function that takes a TLS variable as its parameter generates segfaulting executable using DMD >= 2.044. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | http://d.puremagic.com/issues/show_bug.cgi?id=4185 --- Comment #6 from Bernard Helyer <blood.of.life@gmail.com> 2010-05-14 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 [Issue 4185] Existence of an empty, uncalled function that takes a TLS variable as its parameter generates segfaulting executable using DMD >= 2.044. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | http://d.puremagic.com/issues/show_bug.cgi?id=4185 --- Comment #7 from Bernard Helyer <blood.of.life@gmail.com> 2010-05-14 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 [Issue 4185] Existence of an empty, uncalled function that takes a TLS variable as its parameter generates segfaulting executable using DMD >= 2.044. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | http://d.puremagic.com/issues/show_bug.cgi?id=4185 --- Comment #8 from Bernard Helyer <blood.of.life@gmail.com> 2010-05-14 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 15, 2010 [Issue 4185] Existence of an empty, uncalled function that takes a TLS variable as its parameter generates segfaulting executable using DMD >= 2.044 and the GOLD linker. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bernard Helyer | 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. --- Comment #9 from Bernard Helyer <blood.of.life@gmail.com> 2010-05-14 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: ------- |
Copyright © 1999-2021 by the D Language Foundation