Dominic Fandrey wrote:
On 23/07/2013 01:36, Tim Angus wrote:
On Mon, 22 Jul 2013 14:36:18 -0500 Harley wrote:
It looks like the culprit is the range check (MASK_REG in the new vm)
for OP_STORE4. Commenting out MASK_REG under that case seems to make
UrbanTerror 4.2 load up. I haven't actually tried a real game though.
This is probably indicative of a bug in Urban Terror. We have hacks in
sound backends to work around UrT's misuse of the API, but in that case
it's not harmful. Removing a range check would mean compromising
security for the sake of UrT. Hmmm.
Well, given the issue I think that the VM should be fixed rather
than changing ioq3. I build standalone binaries for UT, where I can
remove the alignment enforcement without affecting the general ioq3
packages.
I wonder how much overhead would be produced by reporting unaligned
data access (OP_LOAD* and OP_STORE*) instead of just force-aligning
stuff.
If the analysis by Harley is correct issue is not about alignment. If
removing the mask fixes the issue then UrT tries to write outside it's
allocated memory area. That leads to unpredictable behavior or
crashes in any case.
The issue should be reproducible with the interpreter in idq3 as
well as that one always had the masking in OP_STORE4 AFAICS.
cu
Ludwig
--
(o_ Ludwig Nussel
//\
V_/_ http://www.suse.de/
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB
16746 (AG Nürnberg)
_______________________________________________
ioquake3 mailing list
ioquake3@lists.ioquake.org
http://lists.ioquake.org/listinfo.cgi/ioquake3-ioquake.org
By sending this message I agree to love ioquake3 and libsdl.