[Bug 3756] New: Q3VM crashes on unaligned block copy with SIGBUS
bugzilla-daemon at icculus.org
bugzilla-daemon at icculus.org
Tue Aug 19 20:42:55 EDT 2008
http://bugzilla.icculus.org/show_bug.cgi?id=3756
Summary: Q3VM crashes on unaligned block copy with SIGBUS
Product: Quake 3
Version: SVN HEAD
Platform: SGI
OS/Version: IRIX
Status: NEW
Severity: normal
Priority: P3
Component: Platform
AssignedTo: zakk at icculus.org
ReportedBy: baggett.patrick at figglesoftware.com
QAContact: quake3-bugzilla at icculus.org
Noticed with Tremulous and (rarely) IOQuake3. When a block copy is not aligned,
a warning message in the VM is displayed, and then the block copy is attempted.
On a RISC processor such as MIPS, SPARC, or PowerPC, this causes a SIGBUS,
crashing the game. This patch does a few things:
a) Resolves the issue by using memcpy() instead. Using memcpy() will be faster
and more reliable than a for() loop copying integers since most every OS
provides a fast implementation of memcpy(), including IRIX, Solaris, Linux,
Windows, and MacOS X.
b) Removes code and messages to detect unaligned data. To ensure correct
functionality, I first applied the memcpy() fix, then reproduced the unaligned
memory copies. The game did not crash. After that I removed the detection and
messages.
--
Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
More information about the quake3-bugzilla
mailing list