[gmx-users] Windows/x64, VCVS2012 compiled, crash on checkpoint writing

Mirco Wahab mirco.wahab at chemie.tu-freiberg.de
Fri Nov 15 18:51:16 CET 2013


Gromacs 4.6.4 compiles (and links) perfectly w/VS2012
and nvcc from CUDA 5.5 on windows/x64
(MSVC 2012 Version 11.0.60610.01 Update 3).

But -- when compiled with VS2012 (because of linking
against CUDA 5.5 is only possible then - in contrast
to VS2010), mdrun crashes on writing the checkpoint file.

This will not happen when compiling with VS2010
(but this exludes using of CUDA 5.5, only 5.0 is
supported).

I did set up a debugging session in VS2012 in order
to determine the exception location (see below, on
entry into the named function). mdrun has been compiled
as "Release w/DebugInfo".

(This has been possibly also been a problem in 4.6.3, iirc.)


----- d:\libsrc\gromacs\gromacs-4.6.4\src\gmxlib\gmxfio.c ----


/* internal variant of get_file_md5 that operates on a locked file */
static int gmx_fio_int_get_file_md5(t_fileio *fio, gmx_off_t offset,
                                     unsigned char digest[])
{
00007FF7B25B74C0  mov         qword ptr [state],rbx
00007FF7B25B74C5  push        rbp
00007FF7B25B74C6  push        rsi
00007FF7B25B74C7  push        rdi
00007FF7B25B74C8  mov         eax,100090h
********************************************************
00007FF7B25B74CD  call        __chkstk (07FF7B28B4160h)  <== exception
********************************************************
00007FF7B25B74D2  sub         rsp,rax
00007FF7B25B74D5  mov         rax,qword ptr [__security_cookie 
(07FF7B29963E0h)]
00007FF7B25B74DC  xor         rax,rsp
00007FF7B25B74DF  mov         qword ptr [rsp+100080h],rax
00007FF7B25B74E7  mov         rsi,rdx
     /*1MB: large size important to catch almost identical files */
#define CPT_CHK_LEN  1048576
     md5_state_t   state;
     unsigned char buf[CPT_CHK_LEN];
     gmx_off_t     read_len;
     gmx_off_t     seek_offset;
     int           ret = -1;

     seek_offset = offset - CPT_CHK_LEN;
     if (seek_offset < 0)
00007FF7B25B74EA  xor         eax,eax
00007FF7B25B74EC  add         rdx,0FFFFFFFFFFF00000h
00007FF7B25B74F3  cmovs       rdx,rax
00007FF7B25B74F7  mov         rdi,rcx
     {
------------------------------------------------------------------



More information about the gromacs.org_gmx-users mailing list