www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Windows segfault, need brief help

reply Anonymouse <zorael gmail.com> writes:
I'm suddenly getting segfaults when running tests on Windows. It 
works fine on Linux. I reduced it to a few lines (plus a 
dependency) with dustmite, but they don't really make sense[1]. 
Nevertheless they do trigger the segfault.

Can someone with Windows 10 and dmd 2.087.0 try the following and 
see if it crashes please?

 git clone https://github.com/zorael/tests -b wintestcrash && cd 
 tests && dub test
If it ends with an assertion failure, okay, darn. If it "exited with code -1073741819" I'll have confirmed it happens for more than just me and AppVeyor, and thus can go ahead and file a bug report.
 Running custom 'unittest' configuration.
 Performing "unittest" build using C:\D\dmd2\windows\bin\dmd.exe 
 for x86_64.
 cachetools 0.1.2: target for configuration "library" is up to 
 date.
 requests 1.0.9: target for configuration "std" is up to date.
 test ~wintestcrash: building configuration "unittest"...
 Linking...
 To force a rebuild of up-to-date targets, run again with 
 --force.
 Running .\test.exe
 Program exited with code -1073741819
[1]: https://github.com/zorael/tests/blob/wintestcrash/source/app.dx
Jul 12 2019
next sibling parent reply Stefan Koch <uplink.coder googlemail.com> writes:
On Friday, 12 July 2019 at 22:46:11 UTC, Anonymouse wrote:
 I'm suddenly getting segfaults when running tests on Windows. 
 It works fine on Linux. I reduced it to a few lines (plus a 
 dependency) with dustmite, but they don't really make sense[1]. 
 Nevertheless they do trigger the segfault.

 Can someone with Windows 10 and dmd 2.087.0 try the following 
 and see if it crashes please?

 [...]
If it ends with an assertion failure, okay, darn. If it "exited with code -1073741819" I'll have confirmed it happens for more than just me and AppVeyor, and thus can go ahead and file a bug report.
 [...]
[1]: https://github.com/zorael/tests/blob/wintestcrash/source/app.dx
maybe you haven't pushed? I can't see it.
Jul 12 2019
parent Anonymouse <zorael gmail.com> writes:
On Friday, 12 July 2019 at 23:05:41 UTC, Stefan Koch wrote:
 [1]: 
 https://github.com/zorael/tests/blob/wintestcrash/source/app.dx
maybe you haven't pushed? I can't see it.
Sorry, typo in the link. https://github.com/zorael/tests/blob/wintestcrash/source/app.d
Jul 13 2019
prev sibling next sibling parent rikki cattermole <rikki cattermole.co.nz> writes:
dmd v2.082 cannot reproduce

Needs to be tested on something newer perhaps?
Jul 12 2019
prev sibling parent reply Boris Carvajal <boris2.9 gmail.com> writes:
On Friday, 12 July 2019 at 22:46:11 UTC, Anonymouse wrote:
 I'm suddenly getting segfaults when running tests on Windows. 
 It works fine on Linux. I reduced it to a few lines (plus a 
 dependency) with dustmite, but they don't really make sense[1]. 
 Nevertheless they do trigger the segfault.

 Can someone with Windows 10 and dmd 2.087.0 try the following 
 and see if it crashes please?

 git clone https://github.com/zorael/tests -b wintestcrash && 
 cd tests && dub test
I can reproduce it on Win10/x64 (qemu). But it's really hard to debug on windows (at least with dmd and no V.Studio), I could only get a readable backtrace with "WinDbg Preview" debugger: [0x0] msvcr100!_output_l + 0x41e [0x1] msvcr100!printf + 0x7c [0x2] test!int core.runtime.runModuleUnitTests().__foreachbody1(object.ModuleInfo*) + 0xd1 [0x3] test!int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo*)).__lambda2(immutable(object.ModuleInfo*)) + 0x27 [0x4] test!int rt.minfo.moduleinfos_apply(scope int delegate(immutable(object.ModuleInfo*))).__foreachbody2(ref rt.sections_win64.SectionGroup) + 0x54 [0x5] test!int rt.minfo.moduleinfos_apply(scope int delegate(immutable(object.ModuleInfo*))) + 0x1f [0x6] test!int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo*)) + 0x27 [0x7] test!runModuleUnitTests + 0xfe ... msvcr100!_output_l+0x41e: 00000000`62e0346e 443811 cmp byte ptr [rcx],r10b ds:00000000`00000010=?? Registers are: rcx = 0x0000000000000010, r10 = 0x0000000000000000 it seems like ( str[i] == '\0') So the program try to print from an invalid pointer and the StackTrace/Throwable object is somewhat related.
Jul 12 2019
parent reply Anonymouse <zorael gmail.com> writes:
On Saturday, 13 July 2019 at 06:36:06 UTC, Boris Carvajal wrote:
 On Friday, 12 July 2019 at 22:46:11 UTC, Anonymouse wrote:
 I'm suddenly getting segfaults when running tests on Windows. 
 It works fine on Linux. I reduced it to a few lines (plus a 
 dependency) with dustmite, but they don't really make 
 sense[1]. Nevertheless they do trigger the segfault.

 Can someone with Windows 10 and dmd 2.087.0 try the following 
 and see if it crashes please?

 git clone https://github.com/zorael/tests -b wintestcrash && 
 cd tests && dub test
I can reproduce it on Win10/x64 (qemu). But it's really hard to debug on windows (at least with dmd and no V.Studio), I could only get a readable backtrace with "WinDbg Preview" debugger:
Thank you! Filed as https://issues.dlang.org/show_bug.cgi?id=20048.
Jul 13 2019
parent reply Boris Carvajal <boris2.9 gmail.com> writes:
On Saturday, 13 July 2019 at 16:39:51 UTC, Anonymouse wrote:

 Thank you!

 Filed as https://issues.dlang.org/show_bug.cgi?id=20048.
https://github.com/dlang/druntime/pull/2675
Jul 14 2019
parent Anonymouse <zorael gmail.com> writes:
On Sunday, 14 July 2019 at 08:49:43 UTC, Boris Carvajal wrote:
 On Saturday, 13 July 2019 at 16:39:51 UTC, Anonymouse wrote:

 Thank you!

 Filed as https://issues.dlang.org/show_bug.cgi?id=20048.
https://github.com/dlang/druntime/pull/2675
Excellent, thanks! I got OPTLINK errors while trying to confirm that it worked with digger, so I'll just trust it and wait for 2.088.
Jul 15 2019