I've been getting a lot of white box of death crashes and unexplained internet explorer crashes recently. I happened to come across the option in windows where you can choose whether or not to allow data to be executed. I activated that option, choosing to not allow data to be executed and since then, I am almost always seeing that as the reason why explorer is shutting down. I have gotten very few white boxes of death and I don't think I've had an unspecified explorer shut down.
Back in the old days when I used to write software for a living, attempting to execute data usually meant our product had a memory leak that was causing it to allocate all of the heap space and eventually overwrite the code with data. A memory leak is where a program allocates (or grabs) chunks of memory to use temporarily but doesn't deallocate (or give back) the chunks when it is done using them. The way our product worked was the code was loaded at the lower memory address and the data started at the higher memory address. As the code section became larger and the program required more data space, the gap between the code and data sections grew smaller. If we had a memory leak, the code would get overwritten with data then the program would crash when it tried to execute that section of code. Without a memory leak, the space allocated for data didn't get close to the end of the code. Sometimes a new release could have a problem because the code took up more space (reminds me of the new crashes we see when VMK adds new stuff) and more data space was required. We had a way of installing the product to get the statistics about the minimal space needed and things like that. Then we used that information to adjust the default environmental variables.
Is this likely to be what is happening with VMK - a huge memory leak? I'm not up to date with the newest coding tools and such so I'm hoping someone else can help me understand if this is what is happening. More important to me, if it is, can I work around it somehow by allocating more virtual memory or using a larger cache or something like that?
Back in the old days when I used to write software for a living, attempting to execute data usually meant our product had a memory leak that was causing it to allocate all of the heap space and eventually overwrite the code with data. A memory leak is where a program allocates (or grabs) chunks of memory to use temporarily but doesn't deallocate (or give back) the chunks when it is done using them. The way our product worked was the code was loaded at the lower memory address and the data started at the higher memory address. As the code section became larger and the program required more data space, the gap between the code and data sections grew smaller. If we had a memory leak, the code would get overwritten with data then the program would crash when it tried to execute that section of code. Without a memory leak, the space allocated for data didn't get close to the end of the code. Sometimes a new release could have a problem because the code took up more space (reminds me of the new crashes we see when VMK adds new stuff) and more data space was required. We had a way of installing the product to get the statistics about the minimal space needed and things like that. Then we used that information to adjust the default environmental variables.
Is this likely to be what is happening with VMK - a huge memory leak? I'm not up to date with the newest coding tools and such so I'm hoping someone else can help me understand if this is what is happening. More important to me, if it is, can I work around it somehow by allocating more virtual memory or using a larger cache or something like that?