Suddenly One User Cannot Run Elliott - Resolved by Recreating User Windows Profile
Version: 8.0 & Up
The following is a weird support incident of a user who suddenly could not run Elliott 8.5 from the workstation. All other users could still run Elliott 8.5 without a problem. In this case, we suspect the user's profile got corrupted. So the solution was to recreate the user profile, which solved the problem.
So here is what happened. This user suddenly could not run Elliott 8.5, although it had been working previously. All other users could still run Elliott without difficulty. What happened is that when this user started up Elliott 8.5, he/she received the following message:
Error in NWMSSCRNFunction:03004 Pf-Disable-GadgetStatus:00002 Bad-handle
If the user clicked OK, another similar message would show up. After clicking 5-10 times, eventually the error message would go away. But then the user would not see Elliott windows show up. If the user clicked "Cancel," then the message did not show up repeatedly, but Elliott would still not run. In both cases, the Elliott process was killed and the user didn't see it in Task Manager. This happened with both Elliott 8.5 and 8.2. It only happened on this particular workstation. All other workstations were working without any difficulty.
Our first suspicion was a problem with anti-virus software, which is consistent with the fact that we saw the Elliott process get terminated. But the problem persisted after the anti-virus software was disabled; even after the anti-virus software was uninstalled.
Since this user was not an administrator, we tried to determine if this was a permission-related issue. We logged into this workstation as an administrator and installed Elliott 8.5 to run locally. But instead of running EL850CC, we ran EL850P.EXE to bypass the Elliott Control Center. When we did that, we did not receive the above "bad-handle" error. Instead, we received the following error message:
EL850P.EXE - COBOL Text WindowExecution error: file 'EL850DB.LBR\NSIFH.gnt'error code: 114, pc=0, call=4, seg=0(Signal 11)
Error 114 is a well understood message and is typically associated with a Windows Server DEP (Data Execution Protection) issue (see article: (I receive error 114 when I start up Elliott). But we thought this was odd because this is just a regular Windows 10 workstation.
When creating the run local desktop shortcuts icon, the box "Create DEP Exclusions" by default is not checked if this is not a server OS. See sample screen below:
We thought maybe this workstation was special. So we brought up EL850.EXE again from the network folder, checked the "Create DEP Exclusions" option, and recreated the desktop icon. After that, Elliott started to work for the administrator. So far, so good. At least we could get the administrator to work on this workstation.
After that, we logged out as administrator and logged in as a regular Windows user on this machine. But that still didn't work and resulted in the first "Bad-handle" error message described above.
We thought maybe permissions was the issue since we could get administrator to work. So we added this user to the local administrator group. However, that still did not resolve the issue. Strangely, we noticed this user did not have the local "administrator" rights even after we added the user to the local administrator group. For example, we tried to run a command prompt and right clicked to choose "Run as Administrator." If this user was a local "administrator," he/she would have received a UAC security elevation prompt asking "Yes" or "No." But instead, this user got the prompt to login to the administrator account.
Finally, we checked with their IT team. Their IT staff suggested that we create a new profile for this user. So a new user profile was created. The new user was not a local admin. We deleted the local Elliott folder and re-installed Elliott 8.5 locally with no issues. Elliott worked well from that point forward. So we assume that something got corrupted on the user's profile that prevented Elliott from running.
EMK