opcualds.exe version 1.2.335.1 is terminating during startup with Windows exception 0xc0000005 at offset 0x00004d90. The number that matters is 0xc0000005: the process attempted an invalid memory access before completing initialization. This is memory protection, not electrical current or thermal load; diagnose the executable, its loaded dependencies, configuration data, and operating-system compatibility before installing an arbitrary C runtime.
Startup symptom interpretation
The Windows event identifies the application and faulting module as the same file: opcualds.exe. That narrows the first diagnostic pass to startup code executing inside the LDS process, although a missing, mismatched, or corrupted dependency can still cause the process to fail after loading.
| Quantity or identifier | Recorded value | Diagnostic use | Where to read it |
|---|---|---|---|
| Application version | 1.2.335.1 |
Matches the failing binary to the installed package | Event log and executable properties |
| Exception code | 0xc0000005 |
Identifies an access violation | Windows application event |
| Fault offset | 0x00004d90 |
Lets official support map the failure to a function when matching symbols are available | Windows application event |
| Executable path | C:\Program Files (x86)\Common Files\OPC Foundation\UA\Discovery\bin\opcualds.exe |
Shows that the 32-bit program location is involved and identifies the file to inspect | Faulting application path |
| Operating system | Windows 7 SP1 64 bit |
Defines the platform against which package compatibility and prerequisites must be checked | Windows system properties |
| Package | opc-ua-1.02-lds-setup-335.1-20150126 |
Identifies the installer whose manifest and prerequisites must be examined | Downloaded installer name or installation record |
The process ID 0x26c4 and application start token 0x01d24397a675e496 identify this particular execution. They are useful when correlating nearby event-log entries but do not identify the root cause by themselves.
Access-violation mechanism
Windows raises 0xc0000005 when code reads from, writes to, or executes an address that the process cannot access. At startup, common trigger points include corrupted program files, an incompatible loaded library, malformed persistent configuration, invalid registry data, or a defect in initialization code. The fault offset is relative to the loaded module; it becomes actionable when matched to the exact 1.2.335.1 binary and its symbols.
A truly absent required DLL usually produces a loader message rather than an access violation. A runtime problem remains possible when a required component is present but incompatible, damaged, or initialized incorrectly. The installer name alone does not identify which CRT package, if any, the binary requires. Read that requirement from the installer manifest, the executable import table, or the product documentation instead of selecting a redistributable by date or trial and error.
Diagnostic checks
Preserve the original event before changing the installation. Compare every subsequent attempt by exception code, module, and offset: an unchanged 0xc0000005 at 0x00004d90 indicates a repeatable initialization path, while a different module or offset indicates that the failure moved.
- Confirm that the installed executable reports version
1.2.335.1and resides at the event-log path. A version mismatch means the event may describe an older or partially replaced file. - Review adjacent Windows application events from the same start attempt. Record any loader, side-by-side, application-error, or service-control entry without substituting one event's values for another.
- Inspect the package manifest and the executable's imported dependencies. Record the exact runtime family and architecture named there. Because the application is under
Program Files (x86), dependency architecture must match the executable rather than the 64-bit operating system. - Check whether each required dependency exists and loads from the expected system or application directory. A file being present does not prove that its architecture or version is compatible.
- Identify persistent LDS configuration and registration data, then preserve a backup before testing with a clean vendor-supported configuration. If the clean state starts, reintroduce settings in controlled groups to isolate the malformed item.
- Check file integrity and endpoint-security logs for quarantine, blocked module loading, or executable modification. Treat a security exclusion only as a controlled diagnostic approved by site policy.
Controlled repair procedure
- Capture the full event record, executable properties, installer filename, and current LDS configuration.
- Use the installed package's normal repair function if it is available. Reboot if the installer requests it so locked modules are replaced before the next test.
- If repair does not change the result, remove and reinstall the same package through its supported installer workflow. Preserve configuration separately so the first launch can be tested with known-clean data.
- Install or repair a CRT only after the manifest, import inspection, or product documentation identifies the exact prerequisite. Match its architecture to
opcualds.exe; the operating system being 64-bit does not make a 64-bit runtime a substitute for a 32-bit dependency. - Start LDS once and immediately collect the resulting application events. Avoid applying multiple runtime packages or configuration changes between tests because that destroys cause-and-effect evidence.
- If the exception repeats at
0x00004d90, prepare the exact binary version and crash data for official support. A dump captured under site policy provides the call stack and failing memory operation needed to distinguish internal code from a dependency callback.
Fix verification
A successful test requires more than the absence of a pop-up. Confirm that opcualds.exe remains running, no new application-error event records 0xc0000005, and the LDS performs its intended discovery function. Repeat the start after a normal restart because initialization order and persisted state can differ from the first post-install launch.
Record the installed executable version and every prerequisite changed during repair. If the process starts only with clean configuration, restore entries incrementally and restart after each group. The first group that reproduces the same exception defines the configuration boundary for deeper inspection.
Recurring troubleshooting pitfalls
Installing several redistributables without identifying the imported runtime can mask the fault or add incompatible components. Another recurring error is matching dependencies to Windows 7 SP1 64 bit instead of matching them to the executable architecture. The installation path is a clue, but confirm architecture from the binary rather than treating the directory name as final proof.
Changing permissions may alter file and registry access, but an access violation is not the same as an access-denied error. Administrative execution is therefore a diagnostic comparison, not proof of a permissions root cause. Likewise, the report ID e471b8d4-af8a-11e6-b02a-000c29b95cb9 tracks the report; it does not decode the failing instruction.
FAQ
How do I interpret LDS error 0xc0000005?
0xc0000005 is a Windows access violation: opcualds.exe attempted an invalid memory operation. Use the faulting module and offset to correlate repeated crashes.
How do I find which CRT opcualds.exe requires?
Read the installer manifest, product documentation, or executable import table. Install only the runtime family and architecture identified there; the package name does not state the required CRT version.
How do I verify that reinstalling LDS fixed the crash?
Confirm that opcualds.exe remains running, performs discovery, and generates no new 0xc0000005 event. Repeat the test after a normal restart.
How do I tell whether LDS configuration causes the crash?
Back up the configuration, start with a clean vendor-supported state, and restore entries in controlled groups. A repeatable return of 0xc0000005 after one group identifies the configuration boundary.
How do I know when to escalate an LDS startup crash?
Stop local changes when repair, verified dependencies, and a clean configuration still produce 0xc0000005 at 0x00004d90. Escalate to official support with package opc-ua-1.02-lds-setup-335.1-20150126, binary version 1.2.335.1, the complete event record, dependency findings, and an approved crash dump if available.