Tuesday, January 6, 2015

CPNTools Troubleshoot: Beta execution aborted Reference is none.

Long time no see. Installing CPNTools for Windows is easy, but today I have a problem when installing cpntools on a Windows Server 2008. Actually the problem was not within the installation process but I can't run the CPNTools because there was an error that keep saying "CreateWindow failed. Error: 0. Create Child Window failed. Error 1406. # Beta execution aborted: Reference is none. # Error during dump: Access violation. Abortion." and creating a quite long dump file. 

I did searching for the error, and followed some guides like:
  • reinstalled the JDK/JRE.
  • made sure the system environment variable JAVA_HOME points to the installation location (e.g., c:\Program Files\Java\jre8)
  • made sure my PATH includes the bin directory under JAVA_HOME (in the example, it would have to include c:\Program Files\Java\jre8\bin).

But none of them worked. So I keep searching, but still no answer. And suddenly I remembered that there is a feature which is called Data Execution Prevention (DEP). DEP is a security feature that can help prevent damage to your computer from viruses, harmful programs, and other security threats. But sometimes DEP can also prevent your programs from being executed, and this also happened to my CPNTools. So to solve this I needed to add my cpntools.exe

You can solve it by following this step: 
Control Panel -> System and Security -> System -> Advanced System Settings.
It will open the System Properties Dialog and move to the Advanced tab and click the "Settings" button. Another dialog will be opened, and you need to go to "Data Execution Prevention" tab and add the cpntools.exe to the whitelist. And now my CPNTools works nicely. :D

======================================================
Bellow is the complete content of my cpntools.dump:

Beta execution aborted: Reference is none.

Call chain: (nti_ms)

  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
  item <*> in ~beta/guienv/private/winnt/guienv_ntibody
    -- * in ~beta/guienv/guienv
  item <*> in ~beta/guienv/guienv
    -- frame# in ~beta/guienv/guienv
  item <frame#> in ~beta/guienv/guienv
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
  item <*> in ~beta/guienv/guienv
    -- size# in ~beta/guienv/guienv
  item <size#> in ~beta/guienv/guienv
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
  item <create#>create# in ~beta/guienv/guienv
    -- open#open#open# in ~beta/postwimp/foundation/guisurface
  item create#<create#> in ~beta/guienv/guienv
    -- open#open#open# in ~beta/postwimp/foundation/guisurface
  item <*> in ~beta/guienv/private/winnt/guienv_ntibody
    -- open#open#open# in ~beta/postwimp/foundation/guisurface
  item open#open#<open#> in ~beta/guienv/guienv
    -- main#window#interfaceObject# in ~beta/postwimp/foundation/guisurface
  item <init#>init# in ~beta/postwimp/foundation/guisurface
    -- GUISurface#Surface# in ~beta/postwimp/foundation/guisurface
  item init#<init#> in ~beta/postwimp/foundation/abstractsurface
    -- GUISurface#Surface# in ~beta/postwimp/foundation/guisurface
  item <*> in ~beta/postwimp/foundation/private/worldbody_nti
    -- * in ~beta/postwimp/foundation/private/worldbody_nti
  item <*> in ~beta/postwimp/foundation/private/worldbody_nti
    -- platformSetWindowEnv# in ~beta/postwimp/foundation/private/worldbody
  item <platformSetWindowEnv#> in ~beta/postwimp/foundation/private/worldbody
    -- PROGRAM-~CPNWorkSpace#Workspace#World#SystemEnv#SysHead# in C:/cpn2000/cpntools/cpntools
  item <setWindowEnv#> in ~beta/postwimp/foundation/world
    -- PROGRAM-~CPNWorkSpace#Workspace#World#SystemEnv#SysHead# in C:/cpn2000/cpntools/cpntools
  item <start#> in ~beta/guienv/private/winnt/guienvntsystemenvbody
    -- PIOPRIVATE-~ in ~beta/guienv/private/winnt/guienvntsystemenvbody
  comp <BASICSCHEDULER-~>SysHead# in ~beta/guienv/private/winnt/guienvntsystemenvbody
    -- PROGRAM-~CPNWorkSpace#Workspace#World#SystemEnv#SysHead# in C:/cpn2000/cpntools/cpntools
  comp BASICSCHEDULER-~<SysHead#> in ~beta/basiclib/basicsystemenv
    -- BETAENV-~ in ~beta/basiclib/betaenv

  item <*> in ~beta/basiclib/betaenv
    -- BETAENV-~ in ~beta/basiclib/betaenv
  basic component in ~beta/basiclib/betaenv


Low level information:

Call chain: (nti_ms)

  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97Warning! nm(DumpSectionTable): Couldn't find section number of .text
 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <handleframeChanged#> in ~beta/guienv/private/winnt/guienv_ntiprivate
  { PC  0x49cb97 < +0x2ecb96>, object 0x2977938, proto 0x9ae2e2 handleframeChanged# [ast: 0x0008,0x0003] < +0x7fe2e1> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <*> in ~beta/guienv/private/winnt/guienv_ntibody
  { PC  0x4a0d9b < +0x2f0d9a>, object 0x29777b8, proto 0x9a8262 * [ast: 0x0069,0x0002] < +0x7f8261> }
    -- * in ~beta/guienv/guienv
    { Surrounding object 0x2977748, proto 0x9bad8e * [ast: 0x0001,0x071f] < +0x80ad8d> }
  item <*> in ~beta/guienv/guienv
  { PC  0x4a091f < +0x2f091e>, object 0x2977748, proto 0x9bad8e * [ast: 0x0001,0x071f] < +0x80ad8d> }
    -- frame# in ~beta/guienv/guienv
    { Surrounding object 0x2977718, proto 0x9bad56 frame# [ast: 0x0001,0x0717] < +0x80ad55> }
  item <frame#> in ~beta/guienv/guienv
  { PC  0x4a1425 < +0x2f1424>, object 0x2977718, proto 0x9bad56 frame# [ast: 0x0001,0x0717] < +0x80ad55> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <*> in ~beta/guienv/guienv
  { PC  0x4a1235 < +0x2f1234>, object 0x2977628, proto 0x9baecc * [ast: 0x0001,0x075f] < +0x80aecb> }
    -- size# in ~beta/guienv/guienv
    { Surrounding object 0x29775f0, proto 0x9bae9e size# [ast: 0x0001,0x0757] < +0x80ae9d> }
  item <size#> in ~beta/guienv/guienv
  { PC  0x444681 < +0x294680>, object 0x29775f0, proto 0x9bae9e size# [ast: 0x0001,0x0757] < +0x80ae9d> }
    -- windowContents#canvas#windowitem#interfaceObject# in ~beta/guienv/private/winnt/guienv_ntiprivate
    { Surrounding object 0x2974020, proto 0x9afe0a windowContents# [ast: 0x0007,0x003f] < +0x7ffe09> }
  item <create#>create# in ~beta/guienv/guienv
  { PC  0x443ab3 < +0x293ab2>, object 0x2976558, proto 0x9bbeea create# [ast: 0x0001,0x0a0d] < +0x80bee9> }
    -- open#open#open# in ~beta/postwimp/foundation/guisurface
    { Surrounding object 0x2976518, proto 0x9a40f2 open# [ast: 0x0001,0x08ae] < +0x7f40f1> }
  item create#<create#> in ~beta/guienv/guienv
  { PC  0x49864a < +0x2e8649>, object 0x2976558, proto 0x9b8f46 create# [ast: 0x0001,0x01a5] < +0x808f45> }
    -- open#open#open# in ~beta/postwimp/foundation/guisurface
    { Surrounding object 0x2976518, proto 0x9a40f2 open# [ast: 0x0001,0x08ae] < +0x7f40f1> }
  item <*> in ~beta/guienv/private/winnt/guienv_ntibody
  { PC  0x4986ce < +0x2e86cd>, object 0x2976548, proto 0x9a6e34 * [ast: 0x0021,0x0002] < +0x7f6e33> }
    -- open#open#open# in ~beta/postwimp/foundation/guisurface
    { Surrounding object 0x2976518, proto 0x9a40f2 open# [ast: 0x0001,0x08ae] < +0x7f40f1> }
  item open#open#<open#> in ~beta/guienv/guienv
  { PC  0x498676 < +0x2e8675>, object 0x2976518, proto 0x9b8f14 open# [ast: 0x0001,0x01a1] < +0x808f13> }
    -- main#window#interfaceObject# in ~beta/postwimp/foundation/guisurface
    { Surrounding object 0x29735c8, proto 0x9a4090 main# [ast: 0x0001,0x08a8] < +0x7f408f> }
  item <init#>init# in ~beta/postwimp/foundation/guisurface
  { PC  0x48ed08 < +0x2ded07>, object 0x2976458, proto 0x9a46a8 init# [ast: 0x0001,0x0b59] < +0x7f46a7> }
    -- GUISurface#Surface# in ~beta/postwimp/foundation/guisurface
    { Surrounding object 0x2973258, proto 0x9a3236 GUISurface# [ast: 0x0001,0x0048] < +0x7f3235> }
  item init#<init#> in ~beta/postwimp/foundation/abstractsurface
  { PC  0x739047 < +0x589046>, object 0x2976458, proto 0xad4702 init# [ast: 0x0001,0x0b45] < +0x924701> }
    -- GUISurface#Surface# in ~beta/postwimp/foundation/guisurface
    { Surrounding object 0x2973258, proto 0x9a3236 GUISurface# [ast: 0x0001,0x0048] < +0x7f3235> }
  item <*> in ~beta/postwimp/foundation/private/worldbody_nti
  { PC  0x48d8a3 < +0x2dd8a2>, object 0x2973248, proto 0x9a2cec * [ast: 0x0008,0x0039] < +0x7f2ceb> }
    -- * in ~beta/postwimp/foundation/private/worldbody_nti
    { Surrounding object 0x2972f38, proto 0x9a2cc0 * [ast: 0x0008,0x0002] < +0x7f2cbf> }
  item <*> in ~beta/postwimp/foundation/private/worldbody_nti
  { PC  0x48d792 < +0x2dd791>, object 0x2972f38, proto 0x9a2cc0 * [ast: 0x0008,0x0002] < +0x7f2cbf> }
    -- platformSetWindowEnv# in ~beta/postwimp/foundation/private/worldbody
    { Surrounding object 0x2972f08, proto 0xa11aaa platformSetWindowEnv# [ast: 0x0003,0x0003] < +0x861aa9> }
  item <platformSetWindowEnv#> in ~beta/postwimp/foundation/private/worldbody
  { PC  0x48d627 < +0x2dd626>, object 0x2972f08, proto 0xa11aaa platformSetWindowEnv# [ast: 0x0003,0x0003] < +0x861aa9> }
    -- PROGRAM-~CPNWorkSpace#Workspace#World#SystemEnv#SysHead# in C:/cpn2000/cpntools/cpntools
    { Surrounding object 0x2970c10, proto 0xa0e0a0 PROGRAM-~ [ast: 0x0001,0x0001] < +0x85e09f> }
  item <setWindowEnv#> in ~beta/postwimp/foundation/world
  { PC  0x631d6b < +0x481d6a>, object 0x2972ef8, proto 0xacf3ac setWindowEnv# [ast: 0x0001,0x1da3] < +0x91f3ab> }
    -- PROGRAM-~CPNWorkSpace#Workspace#World#SystemEnv#SysHead# in C:/cpn2000/cpntools/cpntools
    { Surrounding object 0x2970c10, proto 0xa0e0a0 PROGRAM-~ [ast: 0x0001,0x0001] < +0x85e09f> }
  item <start#> in ~beta/guienv/private/winnt/guienvntsystemenvbody
  { PC  0x44c4b7 < +0x29c4b6>, object 0x2972ee8, proto 0x96ddc4 start# [ast: 0x0005,0x01aa] < +0x7bddc3> }
    -- PIOPRIVATE-~ in ~beta/guienv/private/winnt/guienvntsystemenvbody
    { Surrounding object 0x2971f30, proto 0x96db8e PIOPRIVATE-~ [ast: 0x0005,0x0001] < +0x7bdb8d> }
  comp <BASICSCHEDULER-~>SysHead# in ~beta/guienv/private/winnt/guienvntsystemenvbody
  { PC  0x44ba90 < +0x29ba8f>, object 0x2972dc0, proto 0x96dade BASICSCHEDULER-~ [ast: 0x0002,0x0001] < +0x7bdadd> }
    -- PROGRAM-~CPNWorkSpace#Workspace#World#SystemEnv#SysHead# in C:/cpn2000/cpntools/cpntools
    { Surrounding object 0x2970c10, proto 0xa0e0a0 PROGRAM-~ [ast: 0x0001,0x0001] < +0x85e09f> }
  comp BASICSCHEDULER-~<SysHead#> in ~beta/basiclib/basicsystemenv
  { PC  0x740b4b < +0x590b4a>, object 0x2972dc0, proto 0xadb516 SysHead# [ast: 0x0001,0x0310] < +0x92b515> }
    -- BETAENV-~ in ~beta/basiclib/betaenv
    { Surrounding object 0x2970060, proto 0x94e3a0 BETAENV-~ [ast: 0x0001,0x0001] < +0x79e39f> }

  item <*> in ~beta/basiclib/betaenv
  { PC  0x48b24c < +0x2db24b>, object 0x2970b48, proto 0x9509aa * [ast: 0x0001,0x0c3c] < +0x7a09a9> }
    -- BETAENV-~ in ~beta/basiclib/betaenv
    { Surrounding object 0x2970060, proto 0x94e3a0 BETAENV-~ [ast: 0x0001,0x0001] < +0x79e39f> }
  basic component in ~beta/basiclib/betaenv

Legend:

The above dumps show the dynamic call stack of invoked objects.
Each dump starts at the object that was the current object when
the error occurred and continues down towards the basic component.
The descriptions have the following meaning:
1. Items are shown in two lines, like this:
      item <name#>pname1#pname2#pname3 in ifile
        -- sname#spname1#spname2 in sfile
   meaning that the item is an instance of the pattern "name" which
   has prefix "pname1" which has prefix "pname2", etc.
   This item is defined in the file "ifile".
   The part of the prefix chain enclosed in "<" and ">" indicates
   where in the action sequence the error occurred.
   The line beginning with "--" shows the textually surrounding
   pattern using the same notation.
2. The descriptor names used in the above description will normally
   have one or more "meta characters" appended. These mean:
      #  The descriptor belongs to a pattern, e.g. P: (# ... #)
      ~  Singular named descriptor, e.g. X: @(# ... #)
      *  Singular unnamed descriptor, e.g. ... ; (# ... #) ; ...
      -  Descriptor SLOT.
3. Components are shown using a notation similar to that of items:
      comp <name#>pname1#pname2#pname3 in cfile
4. The bottommost component corresponding to the basic environment is
   shown like an ordinary component, but indicated with
      basic component <name#>pname1#pname2#pname3 in cfile
5. In case the error occurred in some external code called from BETA,
   the top of the call stack is shown as
      [ EXTERNAL ACTIVATION PART ]
6. In case the BETA code has called some external code which has in
   turn called back into the BETA code, and the callback is still
   active at the point of the error, the intermediate call stack part
   is shown as
      [ EXTERNAL ACTIVATION PART ]
7. The section labeled "Low level information" can be avoided by
      set BETART=SimpleDump
   before subsequent executions of the program.

No comments:

Post a Comment

Scala levels: beginner to expert, application programmer to library designer

This is a good reference for someone who wants to be a library designer. I see that the original website of article ( here ) is no longer be...