From: Nima Nouri (nouri.f.nima_at_gmail.com)
Date: Sun Oct 05 2014 - 07:56:08 CDT

I forgot to give the disassembly:

// it might be better to use the same thing that was passed to

// Tcl_FindExecutable, but this is now

Tcl_SetVar(interp, "argv0", app->argv_m[0], TCL_GLOBAL_ONLY);

000000014017E86E mov r9,qword ptr [rsp+1090h]

000000014017E876 mov r9,qword ptr [r9+28h]

000000014017E87A mov r9,qword ptr [r9+68h]

000000014017E87E mov dword ptr [rsp+20h],1

000000014017E886 mov r9,qword ptr [r9] ///////////////////

000000014017E889 xor r8d,r8d

000000014017E88C lea rdx,[14038998Ch]

000000014017E893 mov rcx,qword ptr [rsp+1090h]

000000014017E89B mov rcx,qword ptr [rcx+8]

000000014017E89F call qword ptr [__imp_Tcl_SetVar2 (140356598h)]

The line tagged with lots of slashes is the line in which the program is
trying to access the null pointer and crashes.

Best Regards
N.Nouri

Ph.D Student
Department of Mechanical Engineering
Isfahan University of Technology
Isfahan, Iran

gpiutmd.iut.ac.ir

On Sun, Oct 5, 2014 at 4:16 PM, Nima Nouri <nouri.f.nima_at_gmail.com> wrote:

> Dear Dr. Stone
> Hi
>
> After a little bit of working I enabled the debugging.
> and here is what I got:
>
> Unhandled exception at 0x000000014017e886 in vmd_WIN64.exe: 0xC0000005:
> Access violation reading location 0x0000000000000000.
>
>
> this is the call stack
>
> > vmd_WIN64.exe!TclTextInterp::TclTextInterp(VMDApp *
> vmdapp=0x0000000001c12380, int guienabled=0, int mpienabled=0) Line 154 +
> 0x18 bytes C++
> vmd_WIN64.exe!UIText::UIText(VMDApp * vmdapp=0x0000000001c12380, int
> guienabled=0, int mpienabled=0) Line 78 + 0x3d bytes C++
> vmd_WIN64.exe!VMDApp::VMDinit(int argc=1, char * *
> argv=0x0000000000620750, const char * displaytype=0x000000014037ea20, int *
> displayLoc=0x000000000013fe50, int * displaySize=0x000000000013fe68) Line
> 435 + 0x64 bytes C++
> vmd_WIN64.exe!main(int argc=1, char * * argv=0x0000000000620750) Line
> 49 + 0x32 bytes C++
> vmd_WIN64.exe!__tmainCRTStartup() Line 266 + 0x19 bytes C
> vmd_WIN64.exe!mainCRTStartup() Line 182 C
> kernel32.dll!00007ffb2e8f16ad()
> [Frames below may be incorrect and/or missing, no symbols loaded for
> kernel32.dll]
> ntdll.dll!00007ffb2ee534a5()
>
> And these are the variables I think are related to this line of code:
> Each variable is separated with a line of
> =================================.
> I just expanded the first or maximum second tree level of the variables.
>
> - app 0x0000000001c12380 {mpienabled=0 menulist=0x0000000001c11fb0
> nextMolID=0 ...} VMDApp *
> mpienabled 0 int
> + text_message {defstr=0x0000000140362a90 "" rep=0x0000000140362a90 ""
> do_free=0 } JString
> + menulist 0x0000000001c11fb0 {Num=??? names=??? Data=??? ...}
> NameList<VMDMenu *> *
> nextMolID 0 int
> stride_firsttime 1 int
> eofexit 0 int
> backgroundprocessing 0 int
> + mouse 0x0000000000000000 {moveMode=??? pickInProgress=??? moveObj=???
> ...} Mouse *
> + rocker 0x0000000001c1baa0 {Rocking=0 rockSteps=0 currRockStep=0 ..}
> DisplayRocker *
> + mobile 0x0000000000000000 {mobile=??? port=??? moveMode=??? ...} Mobile
> *
> + spaceball 0x0000000000000000 {moveMode=??? sensitivity=???
> maxstride=??? ...} Spaceball *
> + vmdTitle 0x0000000000000000 {disp=??? color={...} starttime=??? ..}
> VMDTitle *
> + fileRenderList 0x0000000000000000 {renderList={...} app=??? }
> FileRenderList *
> + pluginMgr 0x000000000062c210 {pluginlist={...} handlelist={...}
> num_in_library=-842150451 ...} PluginMgr *
> argc_m 1 int
> + argv_m 0x0000000000620750 const char * *
> + uiText 0x0000000000000000 {interp=??? tclinterp=??? pythoninterp=???
> ...} UIText *
> + uivr 0x0000000000000000 {tools={...} tool_types={...} tool_serialno=???
> ...} UIVR *
> + imdMgr 0xcdcdcdcdcdcdcdcd {mol=??? sim=??? energies=??? ...} IMDMgr *
> + anim 0x0000000001c453e0 {mlist={...} lastTime=1008850.5780000000
> frameSkip=1 ...} Animation *
> + display 0x0000000001c1b4c0 {name=0x0000000001c18120 "Default Display"
> _needRedraw=1 num_display_processes=1 ...} DisplayDevice *
> + scene 0x0000000001c12df0 {backgroundmode=0 backgroundmode_changed=1
> light_changed=1 ...} Scene *
> + cuda 0x0000000000000000 {cudaavail=??? numdevices=??? devprops={..}
> ...} CUDAAccel *
> + pickList 0x0000000001c268a0 {currPickDim=-1 currPickTag=-1
> currPickable=0x0000000000000000 ...} PickList *
> + pickModeList 0x0000000001c113e0 {pickmodelist={...}
> curpickmode=0x0000000001c217d0 } PickModeList *
> + materialList 0x0000000001c25870 {mlist=0x0000000001c11980
> root=0x0000000001c16218 matcounter=2 } MaterialList *
> + stage 0x0000000000000000 {corner1=0x00000000000000f0
> corner2=0x00000000000000fc corner3=0x0000000000000108 ...} Stage *
> + axes 0x0000000001c27ee0 {disp=0x0000000001c1b4c0
> origin=0x0000000001c27fd8 xLine=0x0000000001c27fe4 ...} Axes *
> + fps 0x0000000001c29cf0 {disp=0x0000000001c1b4c0
> last_update=1008850.5780000000 loop_count=0 ...} FPS *
> + commandQueue 0x0000000001c10520 {cmdlist={...} uilist={...} }
> CommandQueue *
> + moleculeList 0x0000000001c2a240 {app=0x0000000001c12380
> scene=0x0000000001c12df0 topMol=0x0000000000000000 ...} MoleculeList *
> + geometryList 0x0000000001c45540 {geomLists={...} colorCat=14
> app=0x0000000001c12380 ...} GeometryList *
> + atomSelParser 0x0000000001c1c000 {custom_singlewords={...} fctns={..}
> } SymbolTable *
> + vmdcollab 0x0000000000000000 {serversock=??? cmdbufstr=???
> clientsock=??? ...} VMDCollab *
> + userKeys {Num=0 names={...} Data={...} ...} NameList<char *>
> + userKeyDesc {Num=0 names={...} Data={...} ...} NameList<char *>
> UpdateDisplay 1 int
> exitFlag 1 int
> ResetViewPending 0 int
> + nodename 0x0000000001c12514 "" char [512]
> noderank 0 int
> nodecount 1 int
> highlighted_molid -1 int
> highlighted_rep -1 int
>
> =================================
> - app->argv_m 0x0000000000620750 const char * *
> - 0x000000014043ef20 "C:/Temp/MYVMD/vmd_WIN64.exe" const char *
> 67 'C' const char
>
> =================================
> - app->argv_m[0] 0x000000014043ef20 "C:/Temp/MYVMD/vmd_WIN64.exe" const
> char *
> 67 'C' const char
>
> =================================
> - argcbuf 0x000000000013eab8 "6424400" char [20]
> [0] 54 '6' char
> [1] 52 '4' char
> [2] 50 '2' char
> [3] 52 '4' char
> [4] 52 '4' char
> [5] 48 '0' char
> [6] 48 '0' char
> [7] 0 char
> [8] 110 'n' char
> [9] 0 char
> [10] 8 ' ' char
> [11] 2 ' ' char
> [12] -118 'Š' char
> [13] 89 'Y' char
> [14] 0 char
> [15] 0 char
> [16] -48 'Ð' char
> [17] -22 'ê' char
> [18] 19 ' ' char
> [19] 0 char
>
> =================================
> - interp 0x0000000001ddd5a0 {result=0x0000000001ddd770 ""
> freeProc=0x0000000000000000 errorLine=0 } Tcl_Interp *
> + result 0x0000000001ddd770 "" char *
> freeProc 0x0000000000000000 void (char *)*
> errorLine 0 int
>
> =================================
> - this 0x0000000001c11e00 {interp=0x0000000001ddd5a0
> commandPtr=0x00000000020d7af0 callLevel=0 ...} TclTextInterp * const
> + TextInterp {...} TextInterp
> + interp 0x0000000001ddd5a0 {result=0x0000000001ddd770 ""
> freeProc=0x0000000000000000 errorLine=0 } Tcl_Interp *
> + commandPtr 0x00000000020d7af0 {refCount=1 bytes=0x000000001011dd30 ""
> length=0 ...} Tcl_Obj *
> callLevel 0 int
> gotPartial 0 int
> needPrompt 1 int
> ignorestdin 0 int
> + app 0x0000000001c12380 {mpienabled=0 menulist=0x0000000001c11fb0
> nextMolID=0 ...} VMDApp *
> starttime 0.00000000000000000 double
> delay 0.00000000000000000 double
> consoleisatty 1 int
>
>
> What you think?
> Please help.
>
> Cheers
> N.Nouri
>
>
> On Sat, Oct 4, 2014 at 12:17 AM, John Stone <johns_at_ks.uiuc.edu> wrote:
> > Hi,
> > It is impossible to guess what has gone wrong with your build, but
> > I can tell you that I made 64-bit builds of VMD on Windows more
> > than 8 years ago, and that the reason it hadn't been distributed as
> > a 64-bit binary between then and now has been due to bugs in the
> > libraries that had previously caused problems akin to the one you're
> > seeing. The past problems I had were related to Tcl/Tk internals that
> > had (at the time) not yet been updated to work correctly on Win64
> platforms.
> > I don't know what would be causing your specific problem,
> > you will need to get your debugger working to be able to track it down.
> >
> > Cheers,
> > John Stone
> > vmd_at_ks.uiuc.edu
> >
> > On Fri, Oct 03, 2014 at 11:38:15PM +0330, Nima Nouri wrote:
> >> Dear Expers
> >> Hi
> >> Again I decided toA compile vmd on 64bit windows.
> >> This time I had success and made a vmd_WIN64.exe that can be ran.
> >> But while vmd is loading I get the "Unhandled exception at
> >> 0x0000000140117788 in vmd_WIN64.exe: 0xC0000005"
> >> U can also see the attached image: it is exactly at loading when VMD
> sees
> >> that my system has 27GB of free RAM.
> >> [1]Inline image 1
> >> I tried to compile all of the plugins(e.g. molefile, etc.), libraries
> >> (tcl, fltk)A as well as vmd source code again butA this time with
> /GS and
> >> /MTd flags.
> >> The same error happens and surprisingly I cannot see the source code
> for
> >> debugging in MSVC2008.
> >> It says debugging information cant be found or does not match.
> >> If any one is interested I can give him a complete detailed "how to"
> for
> >> compiling VMD on 64bit windows.
> >> I have some questions:
> >> 1. At this point you see (when vmd crashes) I want to know what is
> being
> >> loaded?
> >> 2. the default win32 and win64 builds of vmd does not require FLTK
> package
> >> in the configure file. Should I add this package to build (I mean
> does it
> >> relate to the problem?)
> >> I am willing toA make a win64 distributionA and share itA with VMD
> >> developersA if this problem is solved.
> >> Any help would be appreciated
> >> Best Regards
> >> N.Nouri
> >>
> >> References
> >>
> >> Visible links
> >
> >
> >
> > --
> > NIH Center for Macromolecular Modeling and Bioinformatics
> > Beckman Institute for Advanced Science and Technology
> > University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> > http://www.ks.uiuc.edu/~johns/ Phone: 217-244-3349
> > http://www.ks.uiuc.edu/Research/vmd/
>
>
>