(cc-ing the Git for Windows maintainers) Hi, Wataru Noguchi wrote: > Git for Windows crashes when clone Japanese multibyte repository. > - Japanese Base Encoding is Shift-JIS. > - It happens Japanese multibyte directory name and too-long directory path > - Linux(ex. Ubuntu 13.04 amd64) can clone normally. > - example repository is here: > > git clone https://github.com/wnoguchi/mingw-checkout-crash.git > > - The reproduce crash repository contains following file only. > - following directory and file name is encoded for this commit log. > - actually file name is decoded.] > %E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%201-long-long-long-dirname/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%202-long-long-long-dirname/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%203-long-long-long-dirname/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%204-long-long-long-dirname/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%205-long-long-long-dirname/%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB%E3%81%8A%E8%AA%AD%E3%81%BF%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84.txt > - only one commit. > > This commit reduce gcc optimization level from O2 to O1 when MinGW Windows environment. > > Signed-off-by: Wataru Noguchi <wnoguchi.0727@xxxxxxxxx> Thanks. > --- > git-compat-util.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/git-compat-util.h b/git-compat-util.h > index a31127f..394c23b 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -90,6 +90,8 @@ > #define WIN32_LEAN_AND_MEAN /* stops windows.h including winsock.h */ > #include <winsock2.h> > #include <windows.h> > +/* reduce gcc optimization level to 1 */ > +#pragma GCC optimize ("O1") > #define GIT_WINDOWS_NATIVE > #endif Do you know why reducing the optimization level avoids a crash? Perhaps this is just masking the symptoms and the problem is still lurking. If changing the optimization level turns out to be the right fix, I would prefer to see this change made in the Makefile instead of git-compat-util.h. That way, the user building can still easily override the optimization settings to -O0 if they want to during a debugging session. What do you think? Hope that helps, Jonathan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html