Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: vermorel on July 23, 2011, 07:35:55 PM



Title: Bad crash behavior when try to launch 0.3.24 against trucrypt container on Win7
Post by: vermorel on July 23, 2011, 07:35:55 PM
On Win7 64b with Bitcoin 0.3.24-beta, when I try to launch the Bitcoin client against H:\ - a mounted Truecrypt container - the application crashes. It would be better to provide a more insightful message. I am pasting below the content of debug.log. (not sure if it's the right way to report bugs, don't hesitate to correct me)

[addentum] When I move wallet.dat from the root to a subdirectory, aka, H:\w, then it starts working. Odd.

Best,
/jv


************************
EXCEPTION: N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_10filesystem 22basic_filesystem_errorINS3_10basic_pathISsNS3_11path_traitsEEEEEEEEE      
boost::filesystem::create_directory: Permission Denied: "H:\"      
C:\Program Files (x86)\Bitcoin\bitcoin.exe in AppInit()      



************************
EXCEPTION: N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_10filesystem 22basic_filesystem_errorINS3_10basic_pathISsNS3_11path_traitsEEEEEEEEE      
boost::filesystem::create_directory: Permission: "H:\"      
C:\Program Files (x86)\Bitcoin\bitcoin.exe in CMyApp::OnUnhandledException()      


Title: Re: Bad crash behavior when try to launch 0.3.24 against trucrypt container on Win7
Post by: error on July 23, 2011, 08:17:21 PM
This doesn't look like a Bitcoin issue. It looks like a Truecrypt issue. Though Bitcoin probably could report the problem better.


Title: Re: Bad crash behavior when try to launch 0.3.24 against trucrypt container on Win7
Post by: JoelKatz on July 26, 2011, 05:35:36 AM
I'm pretty sure this is a bug in bitcoin. The calls to filesystem::create_directory should be wrapped in try/catch blocks. If there's an error, it should check if the directory exists. If it does, that should be considered non-fatal. (Consider the case where the data directory is the root of a drive. What sense does it make to try to create the directory in that case?!)

Ideally, TrueCrypt should not report a permission denied error if the directory already exists. But I can see reasons that might be unavoidable and, as far as I can tell, it doesn't violate any requirements.

I opened an issue on github.
https://github.com/bitcoin/bitcoin/issues/432