Rust 1.2 stable windows 7 crash


#1

Hello,
I’ve just installed Rust 1.2 stable on WIndows 7 64bit. After adding default installation path to PATH variable rustc started successfully. Cargo crashes when I am starting it like:

cargo hello_world --bin

If I compile my hello world application executable file is generated, but when I tried to start it its also crashes.

Any ideas why this is happening and how to solve it?


#2

Does this work? It works for me.

cargo new --bin test
cd test
cargo run

#3

Thank you for your reply, but it same crash as before. Here are some information i’ve got from application log:

Faulting application name: cargo.exe, version: 0.0.0.0, time stamp: 0x00000000
Faulting module name: ntdll.dll, version: 6.1.7601.18869, time stamp: 0x556366f2
Exception code: 0xc0000005
Fault offset: 0x000000000004ada4
Faulting process id: 0x1cdc
Faulting application start time: 0x01d0d4f1686799b7
Faulting application path: D:\Rust1.2\bin\cargo.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: a6363c16-40e4-11e5-a392-e8113233fe62

And information i’ve got from error report file:

Version=1
EventType=APPCRASH
EventTime=130838276290482566
ReportType=2
Consent=1
UploadTime=130838276291552673
ReportIdentifier=52ef5ea6-40ab-11e5-ba0b-e8113233fe62
IntegratorReportIdentifier=52ef5ea5-40ab-11e5-ba0b-e8113233fe62
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=cargo.exe
Sig[1].Name=Application Version
Sig[1].Value=0.0.0.0
Sig[2].Name=Application Timestamp
Sig[2].Value=00000000
Sig[3].Name=Fault Module Name
Sig[3].Value=ntdll.dll
Sig[4].Name=Fault Module Version
Sig[4].Value=6.1.7601.18869
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=556366f2
Sig[6].Name=Exception Code
Sig[6].Value=c0000005
Sig[7].Name=Exception Offset
Sig[7].Value=000000000004ada4
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.1.7601.2.1.0.256.4
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
UI[2]=C:\Program Files\Rust stable 1.2\bin\cargo.exe
UI[3]=cargo.exe has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
LoadedModule[0]=C:\Program Files\Rust stable 1.2\bin\cargo.exe
LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\Windows\system32\kernel32.dll
LoadedModule[3]=C:\Windows\system32\KERNELBASE.dll
LoadedModule[4]=C:\Windows\system32\ADVAPI32.dll
LoadedModule[5]=C:\Windows\system32\msvcrt.dll
LoadedModule[6]=C:\Windows\SYSTEM32\sechost.dll
LoadedModule[7]=C:\Windows\system32\RPCRT4.dll
LoadedModule[8]=C:\Windows\system32\bcrypt.dll
LoadedModule[9]=C:\Windows\system32\CRYPT32.dll
LoadedModule[10]=C:\Windows\system32\MSASN1.dll
LoadedModule[11]=C:\Windows\system32\ole32.dll
LoadedModule[12]=C:\Windows\system32\GDI32.dll
LoadedModule[13]=C:\Windows\system32\USER32.dll
LoadedModule[14]=C:\Windows\system32\LPK.dll
LoadedModule[15]=C:\Windows\system32\USP10.dll
LoadedModule[16]=C:\Windows\system32\SHELL32.dll
LoadedModule[17]=C:\Windows\system32\SHLWAPI.dll
LoadedModule[18]=C:\Windows\system32\USERENV.dll
LoadedModule[19]=C:\Windows\system32\profapi.dll
LoadedModule[20]=C:\Windows\system32\WINHTTP.dll
LoadedModule[21]=C:\Windows\system32\webio.dll
LoadedModule[22]=C:\Windows\system32\WS2_32.dll
LoadedModule[23]=C:\Windows\system32\NSI.dll
LoadedModule[24]=C:\Windows\system32\IMM32.DLL
LoadedModule[25]=C:\Windows\system32\MSCTF.dll
LoadedModule[26]=C:\Windows\pcdrm\NSCCOR0364.DLL
LoadedModule[27]=C:\Windows\system32\MSVCR100.dll
LoadedModule[28]=C:\Windows\system32\VERSION.dll
LoadedModule[29]=C:\Windows\system32\psapi.dll
LoadedModule[30]=C:\Windows\pcdrm\NBID64.dll
LoadedModule[31]=C:\Windows\system32\OLEAUT32.dll
LoadedModule[32]=C:\Windows\pcdrm\NFD0164.dll
LoadedModule[33]=C:\Windows\INCOPS3\ESSPD64.dll
LoadedModule[34]=C:\Windows\INCOPS3\ICATCDLL64.dll
LoadedModule[35]=C:\Windows\INCOPS3\icdcnl64.dll
LoadedModule[36]=C:\PaperSecu\paperhk64.dll
LoadedModule[37]=C:\Windows\system32\f_im.dll
LoadedModule[38]=C:\Program Files\Fasoo DRM\f_nxa.dll
LoadedModule[39]=C:\Program Files\Fasoo DRM\f_sps.dll
LoadedModule[40]=C:\Windows\WinSxS\amd64_microsoft.vc90.atl_1fc8b3b9a1e18e3b_9.0.30729.1_none_9aefdaaa829eb818\ATL90.DLL
LoadedModule[41]=C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18837_none_a4d981ff711297b6\COMCTL32.dll
LoadedModule[42]=C:\Windows\system32\winspool.drv
LoadedModule[43]=C:\Windows\system32\f_pbrc09.dll
LoadedModule[44]=C:\Windows\system32\dwmapi.dll
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=cargo.exe
AppPath=C:\Program Files\Rust stable 1.2\bin\cargo.exe

#4

can you run it without fasoo drm enabled?


#5

Hello bungcip.

I dont think i can remove it from my work PC, is it a reason?


#6

I don’t know.

Sometimes 3rd party programs like Anti Virus/Malware/DRM causing applications to crash mysteriously. I usually turn off such programs when doing programming in my PC.


#7

I already disabled V3 anti virus I have, but I can’t disable fasoo, since its my working PC. All other development tools works fine (Android studio, Visual Studio).

Is it possible to trace it more deeply and fix this incompatibility?

I can provide all necessary reports and tests, but i don’t think i can fix it myself…


#8

You might also try the Cargo nightly to see if this has already been fixed. It can be downloaded from https://static.rust-lang.org/cargo-dist/cargo-nightly-x86_64-pc-windows-gnu.tar.gz. You’ll probably want to test it right from the unpacked directory and not try to install it over your existing Rust (these tarballs are not usually used to install on windows and are incompatible with the msi installers).


#9

Thank you for advice.

Tried both nightly cargo and whole rust, same crash as before.

Does anybody have other ideas?


#10

Can you try the -msvc version of Rust? You’ll need to have Visual Studio 2013 or 2015 installed.

https://static.rust-lang.org/dist/rust-nightly-x86_64-pc-windows-msvc.msi


#11

Rust1.2 run ok in my Win7 64bit.

So, suggest you:

  1. Restart your windows
  2. Re-download a Rust1.2 64bit version
  3. Create a sample and run again.

As for #2, may be you can download Rust1.2 32bit if plan try Nickel web frame work later. It will save your time when need fight with openssl.

Thanks.


#12

Thank you for your reply. I beleave you mean: https://static.rust-lang.org/dist/2015-08-19/rust-nightly-x86_64-pc-windows-msvc.msi ?

After installing it i was finally able to run cargo. Thank you!

My second issue is “hello_world” application crashing same way during run (compiled without any issues by gnu builded Rust). I’ve tried both 32 and 64, stable and nightly (gnu only) releases, same behaviour.

As I understand issue is messing between 64 and 32 version of system libraries. Here is was I’ve got from gdb after compiling my “hello world” with “rustc -g hello_world.rs”

$ gdb ./hello_world.exe
GNU gdb (GDB) 7.9.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./hello_world.exe...done.
(gdb) run
Starting program: D:\Shared\Projects\Rust\hello_world.exe
[New Thread 2840.0x1c94]
[New Thread 2840.0xf50]
[New Thread 2840.0x2c10]
warning: `C:\Windows\system32\f_pbrc09.dll': Shared library architecture i386 is not compatible with target architecture i386:x86-64.

Program received signal SIGSEGV, Segmentation fault.
0x0000000077a2ada4 in ntdll!RtlDeNormalizeProcessParams ()
   from C:\Windows\SYSTEM32\ntdll.dll

Not sure is it correct to use “C:\Windows\SYSTEM32\ntdll.dll” for 64 application? Also ‘C:\Windows\system32\f_pbrc09.dll’ looks incorrect.

After installing Visual Studio 2015 comunity it finaly worked!

Thank you everybody for you help!


#13

Yep, msvc is oddly, despite being a relatively new addition, actually more reliable than gnu, because it uses Microsoft’s linker and libraries and also because it doesn’t use jemalloc. Certain configurations can cause jemalloc or mingw’s runtime bits to crash your process on startup, which msvc avoids.

It is entirely correct for a 64-bit application to use DLLs from System32. 32-bit applications should be loading their DLLs from SysWOW64. Although it is really weird that there is a 32-bit f_pbrc09.dll in your system32 and that your application is loading it.