VOGONS


First post, by alex.123

User metadata
Rank Newbie
Rank
Newbie

Hello!

I have a rare crash in a dos game. When it happens it always spams messages like "Illegal read from 14a5d49f, CS:IP 180: 28942a", always with the same IP. The instruction in executable corresponding to 28942a is "lea eax, [ecx + ecx]". The questions are:
1. My understanding is that lea can't produce illegal read, is this right?
2. Can the use of dynamic core in dosbox distort reported invalid read locations?

Reply 3 of 7, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Well, I don't think anyone else has reported this specific problem before, and the game is available on GOG. I would be inclined to believe that the game's files are corrupted somehow.

In any case, if you are concerned that the error might be caused by the dynamic core, why not just change to the normal core, and see if the problem can be reproduced that way?

Reply 4 of 7, by alex.123

User metadata
Rank Newbie
Rank
Newbie

This is one of the game's long known bugs, and there are reports from different users confirming it, either GOG, Steam or original CD owners. So it's unlikely that game files have been damaged. And even if they had, what I ask is about how DOSBox core works, not about the specific bug. I thought such things are trivial for someone on this forum.

Reply 5 of 7, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
alex.123 wrote:

This is one of the game's long known bugs

Do you mean with DOSBox specifically? I will have to take your word for it, as I can't recall it being discussed here before. Trying the latest SVN version would be a good idea, anyway. There have been many bugs fixed since the release of 0.74.

And even if they had, what I ask is about how DOSBox core works, not about the specific bug. I thought such things are trivial for someone on this forum.

No, pretty much no one comes here with questions about how the DOSBox core works. If that is what you specifically seek then I guess we'll all just shut up and wait and see if someone who knows about that comes along.

Reply 6 of 7, by alex.123

User metadata
Rank Newbie
Rank
Newbie
Jorpho wrote:
alex.123 wrote:

This is one of the game's long known bugs

Do you mean with DOSBox specifically?

Hardly anyone runs this game wihout DOSBox for at least 10 years. But I think no, this bug is not DOSBox-specific and can be observed in DOS.

Jorpho wrote:

No, pretty much no one comes here with questions about how the DOSBox core works. If that is what you specifically seek then I guess we'll all just shut up and wait and see if someone who knows about that comes along.

Well, I expect that there are some dosbox developers in "dosbox development" forum. Can you suggest a better place for my question?

Reply 7 of 7, by alex.123

User metadata
Rank Newbie
Rank
Newbie

Have solved my problem, but in case someone ever finds it: the answer is yes, dynamic core does distort illegal read location. For example this code:

mov cl, byte ptr [edx + 1]
mov cl, byte ptr [edx + 2]
mov cl, byte ptr [edx + 3]

for dynamic core will give such illegals:

illegal read from 22446601, CS:IP 180:3e31bd
illegal read from 22446602, CS:IP 180:3e31bd
illegal read from 22446603, CS:IP 180:3e31bd

and for normal core:

illegal read from 22446601, CS:IP 180:3e31bd
illegal read from 22446602, CS:IP 180:3e31c0
illegal read from 22446603, CS:IP 180:3e31c3