0 × 00000090-the memory cannot read written

Source: Internet
Author: User
Tags prefetch

Common Causes of memory failure to read written
In Windows, users may encounter the following error message: "0x ???????? Instruction reference 0x00000000 memory, the memory cannot be written ", and then the applicationProgramCrash. This article briefly analyzes the common causes of such errors.

1. failed to check memory allocation by Application
When a program needs a piece of memory to store data, it needs to call the "function" provided by the operating system to apply. If the memory is allocated successfully, the function will return the newly opened memory zone address to the application, and the application can use this memory address. This is "dynamic memory allocation", and the memory address is also the "Pointer" in programming ".
The memory is not always used, and sometimes the memory allocation fails. When the allocation fails, the system function returns a value of 0. The returned value "0" does not indicate a newly enabled pointer. Instead, it notifies the application of an error. As an application, check whether the returned value is 0 after each memory application. If yes, it means that a fault has occurred and some measures should be taken to save the problem, this enhances the robustness of the program ".
If the application does not check this error, it will regard this value as an available pointer to it according to "thinking inertia" and continue to use this memory in subsequent operations. The real 0-address memory zone stores the most important "Interrupt Descriptor Table" in computer systems and is definitely not allowed to be used by applications. In an operating system without a protection mechanism (such as DoS), writing data to this address will immediately crash, while in a robust operating system, such as Windows, this operation will be immediately captured by the system's protection mechanism. The result is that the operating system forces the application that fails to be closed to prevent the error from expanding. At this time, the above "write memory" error will occur, and the referenced memory address is "0x00000000 ".
There are many causes of memory allocation failure, such as insufficient memory and mismatched system function versions. Therefore, this allocation failure is often seen after the operating system has been in use for a long time, installed a variety of applications (including inadvertently "installed" virus programs ), after a large number of system parameters and system files are changed.
2. Applications reference abnormal memory pointers due to their own bugs
In applications that use dynamic allocation, sometimes the program tries to read and write a piece of memory that should be available, but somehow, the expected available pointer has expired. It may be that the system requires allocation "forgot", or that the program has logged out the memory at some time and "did not pay attention. The logged-out memory is reclaimed by the system and its access rights do not belong to this application. Therefore, read/write operations also trigger the system's protection mechanism, the only end of a program that attempts to "break the law" is that it is terminated and all resources are recycled. Laws in the computer world are much more effective and harsh than humans! Such cases all belong to the bugs of the program. You can often reproduce errors in a specific operation order. Invalid pointers are not always 0, so the memory address in the error prompt is not set to "0x00000000", but other random numbers.
The following suggestions may be helpful if the system frequently mentions error prompts:
1. check whether a trojan or virus exists in the system. Such programs tend to modify the system irresponsibly to control the system, resulting in operating system exceptions. In general, information security awareness should be strengthened, and the executable procedures with unknown sources should never be curious.
2. Update the operating system so that the operating system installer can copy the correct version of the system file and correct system parameters. Sometimes the operating system itself also has bugs. You must install the officially released upgrade program.
3. Try the new version of the application.

 

This problem occurs in a variety of ways: hardware, memory, and software.

I. Hardware:

Generally, computer hardware is very bad. The possibility of memory problems is not high (unless your memory is really a mess), the main aspect is: 1. Memory stick is broken (mostly used memory), 2. Memory with quality problems, 3. There is too much dust in the golden finger part of the memory inserted on the motherboard. 4. Use different brands of memory with different capacities, resulting in incompatibility. 5. Heat Dissipation caused by overclocking. You can use the memtest software to check the memory, which can thoroughly detect the memory stability.

2. If none of them exist, the software should be able to resolve the fault.

Principle 1: the memory has a buffer where data is stored. When the program puts the data in the buffer zone, the "function" provided by the operating system is required to apply. If the memory is allocated successfully, the function will return the newly opened memory zone address to the application, and the application can use this memory address. This is "dynamic memory allocation", and the memory address is also the "cursor" in programming ". The memory is not always used, and sometimes the memory allocation fails. When the allocation fails, the system function returns a value of 0. The returned value "0" does not indicate a new enabled cursor. Instead, the system sends a notification to the application notifying you of an error. As an application, check whether the returned value is 0 after each memory application. If yes, it means that a fault has occurred and some measures should be taken to save the problem, this enhances the robustness of the program ". If the application does not check this error, it determines that this value is the available cursor assigned to it according to "thinking inertia" and continues to use this memory in subsequent execution. The real 0-address memory zone stores the most important "Interrupt Descriptor Table" in computer systems and is definitely not allowed by applications. In an operating system without a protection mechanism (such as DoS), writing data to this address will immediately become a machine, while in a robust operating system, such as Windows, this operation will be immediately captured by the system's protection mechanism. The result is that the operating system forces the application that fails to be closed to prevent the error from expanding. At this time, the above memory cannot be "read" error occurs, and the referenced memory address is "0x00000000". There are many causes of memory allocation failure, such as insufficient memory and mismatched system function versions. Therefore, this allocation failure is often seen after the operating system has been in use for a long time, installed a variety of applications (including inadvertently "installed" virus programs ), after a large number of system parameters and system files are changed.

In applications that use dynamic allocation, sometimes the program tries to read and write a piece of memory that should be available, but somehow, the expected available cursor has expired. It may be that the system requires allocation "forgot", or that the program has logged out the memory at some time and "did not pay attention. The logged-out memory is reclaimed by the system and its access rights do not belong to this application. Therefore, read/write operations also trigger the system's protection mechanism, the only end of an "illegal" program is to be terminated and all resources are recycled. Laws in the computer world are much more effective and harsh than humans! Such cases all belong to the bugs of the program. You can often reproduce errors in a specific operation order. Invalid cursor may not always be 0, so the memory address in the error prompt is not set to "0x00000000", but other random numbers.

First, we recommend that you:

1. check whether there are Trojans or viruses in the system. Such programs tend to modify the system irresponsibly to control the system, resulting in operating system exceptions. In general, information security awareness should be strengthened, and the executable procedures with unknown sources should never be curious.

2. Update the operating system so that the operating system installer can copy the system file of the correct version and correct system parameters. Sometimes the operating system itself also has bugs. You must install the officially released upgrade program.

3. Try to use the latest official version of the application, beta, trial version will have bugs.

4. Delete and recreate the file in the WINNT \ system32 \ WBEM \ repository folder. Right-click my computer on the desktop and Click Manage. Under services and applications, click Services, and then close and stop the Windows Management Instrumentation Service. Delete all files in the WINNT \ system32 \ WBEM \ repository folder. (Create backup copies of these files before deletion .) Open services and applications, click Services, and start the Windows Management Instrumentation Service. When the service restarts, these files will be re-created based on the information provided in the following registry keys: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ WBEM \ cimom \ autorecover mofs

The following are several examples:

Example 1: The IE browser displays "0x03713644" memory referenced by the "0x0a8ba9ef" command, or the "0x70dcf39f" memory referenced by the "0x00000000" command. The memory cannot be "read ". To terminate the program, click "OK" and click "OK". An "internal error occurs, and one of the windows in use is about to close" is displayed, when this prompt is disabled, ie is also disabled. Solution:

1. In the start-Run window, enter "regsvr32 actxprxy. dll" and press Enter. A dialog box "dllregisterserver in actxprxy. dll succeeded" appears. OK. Run the following commands in sequence. (Some people say this method is unnecessary, but re-registering those. dll does not have any harm to the system. Anyway, you can solve the problem .)

Regsvr32 shdocvw. dll

Regsvr32 oleaut32.dll

Regsvr32 actxprxy. dll

Regsvr32 mshtml. dll

Regsvr32 msjava. dll

Regsvr32 browseui. dll

Regsvr32 urlmon. dll

2. Fix or upgrade IE and install system patches. One of the solutions is to restore the system to the initial state. We recommend that you upgrade Internet Explorer to 6.0.

Example 2: Some applications have errors: the "0x14c96730" memory referenced by the "0x7cd64998" command. The memory cannot be "read ". Solution: Win XP's "pre-read" technology, which is an optimization technology, is also used in applications. The system analyzes the previous startup conditions of each application, add a virtual "memory image" that describes the application requirements and store the information in the Windows \ prefetch folder. Once an image is created, the loading speed of the application software is greatly improved. XP pre-read data stores information about the last eight system or application startup times. We recommend that you remove the virtual memory and delete all *. pf files under the Windows \ prefetch directory so that Windows can re-collect the physical address of the program.

Example 3: The "0x00000078" memory referenced by the "0x77f745cc" command is displayed in the "autorun.exe" file in the Windows XP double-shot drive. The memory cannot be "written". To terminate the program, click "OK", but it runs normally in Windows 98. Solution: this can be a system compatibility question. For Windows XP systems, right-click the autorun.exe file, attributes, and compatibility. Select "run this program in compatible mode" and select "Windows 98/Me ". After installing the SP patch for Win2000, run the following command: regsvr32 c: \ winnt \ apppatch \ slayerui. dll. Right-click the attribute and the compatibility option will also appear.

Example 4: an error occurs when RealONE gold is disabled. It has been used normally before. Recently, the "0xffffffff" memory referenced by the "0xffffffff" command is displayed when RealONE gold is disabled. The prompt that the memory cannot be "read. Solution: this problem occurs when you disable RealONE when the input method is 2003 and the language bar is hidden (no problem occurs when it is not hidden, therefore, you can display the language bar or use any other input method as the current input method to solve this problem before you close RealONE.

Example 5: My Hao jieba cannot play the video since I got online. The memory referenced by the "0x060692f6" command cannot be "read ", to terminate the program, please confirm. Solution: Try to reinstall Haojie super to solve the problem. If the problem persists, download the patch from the official website. Not yet. You have to try another player.

Example 6: double-click the shortcut of a game. The "0x77f5cd0" command references the "0xffffffff" internal memory. The memory cannot be "read" and a client. dat program error is prompted. Solution: reinstall the latest driver of the video card, and then download and install directx9.0.

Example 7: when a friend sends a message, an error message is displayed on my computer: "0x772b548f" refers to the "0x00303033" memory, which cannot be "written ", then QQ automatically went offline, and then opened QQ, and found more than a dozen pieces of information he sent. Solution: This is the bug that the other party uses QQ to send specialCode, QQ error, as long as the patch or upgrade to the latest version, it will be okay.

The memory cannot be read or written solution. Keywords: the memory cannot be read. The memory cannot be written"

Several Related Articles searched from the InternetArticle.

[Article 1]

If you are using a Windows operating system, you may encounter the following error message:
「 "0x ????????" The memory of the instruction reference "0x00000000". The memory cannot be "read" or "written" and the application is closed.

If you ask some experts, the answer is often "Windows is so unstable" and so on. In fact, this error is not necessarily caused by Windows instability. This article briefly analyzes the general causes of such errors.
1. failed to check memory allocation by Application
When a program needs a piece of memory to store data, it needs to apply using the "function" provided by the operating system. If the memory is allocated successfully, the function will return the newly opened memory zone address to the application, and the application can use this memory address. This is "dynamic memory allocation", and the memory address is also the "cursor" in programming 」. The memory is not always used, and sometimes the memory allocation fails. When the allocation fails, the system function returns a value of 0. The returned value "0" does not indicate a newly enabled cursor. Instead, the system sends a notification to the application notifying you of an error. As an application, check whether the returned value is 0 after each memory application. If yes, it means that a fault has occurred and some measures should be taken to save the problem, this enhances the robustness of the program 」. If the application does not check this error, it considers this value as an available cursor for it according to "thinking inertia" and continues to use this memory in subsequent execution. The real 0-address memory zone stores the most important "Interrupt Descriptor Table" in computer systems and is definitely not allowed to be used by applications. In an operating system without a protection mechanism (such as DoS), writing data to this address will immediately become a machine, while in a robust operating system, such as Windows, this operation will be immediately captured by the system's protection mechanism. The result is that the operating system forces the application that fails to be closed to prevent the error from expanding. In this case, the above "write memory" error occurs and the referenced memory address is "0x00000000 」. There are many causes of memory allocation failure, such as insufficient memory and mismatched system function versions. Therefore, this allocation failure is often seen after the operating system has been in use for a long time and has installed a variety of applications (including virus programs that inadvertently "Install ), after a large number of system parameters and system files are changed.
2. The application cited abnormal memory cursor due to its own bug
In applications that use dynamic allocation, sometimes such a situation occurs: The program tries to read and write a piece of "should be available" memory, but somehow, the expected available cursor has expired. It may be that the program "forgot" to request distribution to the operating system, or the program may have logged out the memory at some time and "did not pay attention. The logged-out memory is reclaimed by the system and its access rights do not belong to this application. Therefore, read/write operations also trigger the system's protection mechanism, the only end of an attempt to "violate the law" is to be terminated and all resources are recycled. Laws in the computer world are much more effective and harsh than humans! Such cases all belong to the bugs of the program. You can often reproduce errors in a specific operation order. Invalid cursor may not always be 0, so the memory address in the error prompt is not set to "0x00000000", but other random numbers. If the system frequently mentions error prompts, the following suggestions may be described:

1. check whether a trojan or virus exists in the system. Such programs tend to change the system irresponsibly to control the system,
As a result, the operating system is abnormal. In general, information security awareness should be strengthened, and the executable procedures with unknown sources should never be curious.
2. Update the operating system so that the operating system installer can copy the correct version of the system file and correct system parameters.
Sometimes the operating system itself also has bugs. You must install the officially released upgrade program.
3. Try the new version of the application.

Mode:
Remove virtual memory
Answer:
So far, this is positive, that is, if it does not happen again when the next cold day arrives, it means this is the main cause.
Append:
If you use ghost to restore the OS, we recommend that you delete all *. pf files in the Windows \ prefetch directory because Windows needs to re-collect the physical address of the program.
Some applications have errors in the memory of the "0x7cd64998" command reference "0x14c96730. This memory cannot be "read" Due to this reason
Source:
Win XP's "pre-read" Technology
This optimization technology is also applied to application software. The system analyzes the previous startup conditions of each application software, and then adds a virtual "memory image" to describe the application requirements 」, store the information in the windowsprefetch data folder. Once an image is created, the loading speed of the application software is greatly improved. XP pre-read data stores information about the last eight system or application startup times.
Post description:
At present, this method is also a dedicated-step network (its code has been checked for a long time), and it is also a common problem. Some programs will happen when the software is closed almost every day before going to bed... read...
It does not happen now.

[Article 2]

When running some programs, sometimes there will be a memory error prompt (the content after 0x may be different), and then the program will be closed.
"0x ????????" Command reference "0x ????????" Memory. The memory cannot be "read ".
"0x ????????" Command reference "0x ????????" Memory, the memory cannot be "written ".
I wonder if you have encountered such a fault?
This problem is usually caused by hardware, memory, and software.
The following describes the hardware:
In general, the possibility of memory problems is not big, the main aspect is: memory is broken, memory quality is wrong, there are two different brands of different capacities of memory mixed insertion, it is also relatively prone to incompatibility, but also pay attention to the heat dissipation issues, especially after the Super frequency. You can use the memtest software to check the memory, which can thoroughly detect the memory stability.
This problem occurs when you use dual-memory plug-in and mixed plug-in with different brands of memory or buy a second-hand memory, check whether the memory is faulty or not compatible with other hardware.
If none of them exist, the fault will be eliminated from the software aspect.
Let's talk about the principle: the memory has a buffer where data is stored. When the program places the data in one of its locations, overflow occurs because there is not enough space. For example, a bucket can only store one kilo of water. When you put two kilos of water into the bucket, it will overflow. The system is displayed on the screen. This problem often occurs on Windows 2000 and Windows XP systems. Windows/XP has strict hardware requirements. Once a resource deadlock or overflow occurs or an operation similar to Windows 98, the above situation occurs when the system is stable. It may also be caused by poor compatibility between hardware devices.
The following is an analysis of several examples:
Example 1: Open IE or the 0x00000000 memory referenced by the "0x70dcf39f" command will appear in a few minutes. The memory cannot be "read ". To terminate the program, click "OK" and click "OK". An "internal error occurs, and one of the windows in use is about to close" is displayed, when this prompt is disabled, ie is also disabled. Solution: fix or upgrade the IE browser with patches. One of the restoration methods is that Win2000 is upgraded from Win2000 to Win2000. In fact, this method restores the system to the initial state of the system. For example, if your IE is upgraded to 6.0, it will be replaced by ie5.0 after the upgrade.
Example 2: in Windows XP, the portable autorun.exe file in the dual-disc displays the memory "0x77f745cc" referenced by the "0x00000078" command. The memory cannot be "written". To terminate the program, click "OK", but it runs normally in Windows 98. Solution: this can be a system compatibility question. For Windows XP systems, right-click the autorun.exe file, attributes, and compatibility. Select "run this program in compatible mode" and select "Windows 98/Me ". After installing the SP patch for Win2000, run the following command: regsvr32 c: \ winnt \ apppatch \ slayerui. dll. Right-click the attribute and the compatibility option will also appear.
Example 3: an error occurs when RealONE gold is disabled. It has been used normally before. Recently, the "0xffffffff" memory referenced by the "0xffffffff" command is displayed when RealONE gold is disabled. The prompt that the memory cannot be "read. Solution: this problem occurs when you disable RealONE when the input method is 2003 and the language bar is hidden (no problem occurs when it is not hidden, therefore, you can display the language bar or use any other input method as the current input method to solve this problem before you close RealONE.
Example 4: My Hao jieba cannot play the video since I got online. The memory referenced by the "0x060692f6" command cannot be "read ", to terminate the program, please confirm. Solution: Try to reinstall Haojie super to solve the problem. If the problem persists, download the patch from the official website. Not yet. You have to try another player.
Example 5: double-click the shortcut of a game. The "0x77f5cd0" command references the "0xffffffff" internal memory. The memory cannot be "read" and a client. dat program error is prompted. Solution: reinstall the latest driver of the video card, and then download and install directx9.0.
Example 6: when a friend sends a message, an error message is displayed on my computer: "0x772b548f" refers to the "0x00303033" memory, which cannot be "written ", then QQ automatically went offline, and then opened QQ, and found more than a dozen pieces of information he sent. Solution: This is the bug that the other party uses QQ. It sends special code and makes a QQ error. If it is patched or upgraded to the latest version, it will be okay.

[Troubleshooting]

1 memory stick is broken and replaced
2 dual-memory incompatible use the same brand of memory or only one memory
3. Memory Quality Problems
4. Heat Dissipation problems strengthen the internal heat dissipation of the chassis
5. The memory and motherboard are not plugged in, or other hardware is not compatible with the memory plug-in or another slot.
6. Hard Disk replacement due to hardware problems
7. reinstall the driver for driver issues. If the driver is a new system, install the motherboard driver first.
8 software damaged and reinstalled Software
9 software bug patching or updating to the latest version
10 software and system incompatibility patch the software or try the system compatibility mode
11 there is a conflict between software and software. If any new software has been installed recently, uninstall it and try again.
12 The software should use other related software to reinstall the software. For example, if an error occurs when playing a certain format file, the decoder of the file may be faulty.
13 virus-related Antivirus
14 anti-virus software conflicts with the system or software. Because anti-virus software enters the underlying monitoring system, it may conflict with some software. uninstall it and try again.
15 if the system itself has problems, sometimes the operating system itself also has bugs. You should install the officially released update program, such as the SP patch. if not, reinstall the system or change the system of another version.

[Another note 〕

Check whether Microsoft net is installed in the Add/delete programs on the control panel. framework. If it has been installed, you can consider uninstalling it. Of course, if you need net. you can reinstall the framework.
In addition, if you are using a ATI graphics card and you are using an SP2 patch (some ATI graphics card drivers need to be in a normal operating environment of the net. Framework ). In this case, you can find a ati driver that does not require the support of Net. framework.
If the above two methods do not completely solve the problem, you can try to use the "ie Repair" software and check whether there is a virus or something like that.
(It should be okay to upgrade Microsoft net. Framework to version 1.1 〕

[Another note 〕

Method 1:

A friend from the Microsoft news group pointed out: start -- run: regsvr32 jscript. dll
Start -- run: regsvr32 VBScript. dll

But it does not solve the problem-but it provides a path-register all the DLL files at a time
The search method is as follows:

Run cmd, press enter, and enter at the command prompt.
For % 1 in (% WINDIR % \ system32 \ *. dll) Do regsvr32.exe/S % 1
This command, dude. If you enter the correct information slowly, you will see the screen rolling. Otherwise ...... Otherwise, failure is ineffective. Press enter and wait slowly (it takes 1-2 minutes ).

Method 2:
This is a typical problem ~~~~~ There are many reasons for this problem. In general, the solution is to patch the system, replace the memory, and change the memory slot. [System patches can be updated online on the Microsoft Update Website]
There are many reasons for this problem. You cannot draw conclusions simply. Try to do the following:
1. Make sure that you are using software that has not been modified (non-Chinese version, cracked version)
2. Try not to run other software when using the software change. (This is a temporary file. Some software may also use a Temporary Folder, which causes interference)
3. Turn off the desktop tools and memory organizing tools (you have at least two similar tools running )"

Solution:
Run regedit to enter the registry and delete the others under HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ shellexecutehooks with only one normal key value "{AEB6717E-7E19-11d0-97EE-00C04FD91972.

[My personal solutions and opinions 〕

I tried a variety of methods today, and finally I found the problem lies in Microsoft's net. framework. I upgraded the software and installed patches. after a short period of security, there was a situation where "the memory cannot be read. Later, I was inspired by the above article and uninstalled Microsoft's net. framework1.0 and 1.1. The world was too peaceful.

In addition, if the above problem occurs when you open "my computer" or "My documents", another possibility is that your right-click menu is too bloated, in this case, you only need to clear the right-click menu to solve the problem.
--------------------------------------------------------------------------------

[Test Results 〕

The most useful and thorough method of the above method is this:

Run cmd, press enter, and enter at the command prompt.
For % 1 in (% WINDIR % \ system32 \ *. dll) Do regsvr32.exe/S % 1

Tip: If you are afraid of incorrect input, you can copy this command and click c: \ in the upper-left corner of the command prompt box. Using the "edit-paste" function below, you will not be prone to errors. After the rapid screen rolling is completely static, do not worry about starting other programs. wait patiently for a while because the DLL is still looking for a location. Wait until your indicator does not flash.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.