[cairo-bugs] [Bug 27683] New: [bisected] many cairo can't run caused by some modification on big endian
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Apr 16 00:18:35 PDT 2010
https://bugs.freedesktop.org/show_bug.cgi?id=27683
Summary: [bisected] many cairo can't run caused by some
modification on big endian
Product: cairo
Version: 1.9.7
Platform: x86 (IA32)
OS/Version: Linux (All)
Status: NEW
Severity: major
Priority: high
Component: general
AssignedTo: cworth at cworth.org
ReportedBy: jian.j.zhao at intel.com
QAContact: cairo-bugs at cairographics.org
Created an attachment (id=35080)
--> (https://bugs.freedesktop.org/attachment.cgi?id=35080)
xorg.0.log
System Environment:
--------------------------
Libdrm: (master)3506173ba7e726a9d0a17ec42734a925a885b01e
Mesa: (master)eee220d65d3d37030f33971b02823c614e3eb618
Xserver: (master)7b6517526631a65891b806bca30be8f49955d0a8
Xf86_video_intel: (master)324a2810da3fbae35637ba9080f31f9383db0868
Cairo: (master)4142f0836d6719dd136a5fc6ac1adaddd681a3f2
Kernel: (drm-intel-next)7f8a85698f5c8a981641ec0bdf9926768786db9d
Bug detailed description:
-------------------------
There are many cairo cases run with error of "Out of Memory" on all the
backends(including null, image and xlib). And I find it was caused by a commit
of cairo on master "Fix script scanner endianness". The culprit commit is
55ce0b774869e9fa614c6f9fec7905f7205cb5ff. And if I apply the following patch,
it works well.
diff --git a/util/cairo-script/cairo-script-scanner.c
b/util/cairo-script/cairo-script-scanner.c
index 24d1616..b1e612d 100644
--- a/util/cairo-script/cairo-script-scanner.c
+++ b/util/cairo-script/cairo-script-scanner.c
@@ -653,7 +653,7 @@ base85_end (csi_t *ctx, csi_scanner_t *scan, cairo_bool_t
deflate)
}
if (deflate) {
- uLongf len = be32 (*(uint32_t *) scan->buffer.base);
+ uLongf len = (*(uint32_t *) scan->buffer.base);
Bytef *source = (Bytef *) (scan->buffer.base + sizeof (uint32_t));
status = csi_string_deflate_new (ctx, &obj,
commit 55ce0b774869e9fa614c6f9fec7905f7205cb5ff
Author: Andrea Canciani <ranma42 at gmail.com>
Date: Fri Feb 5 22:30:05 2010 +0100
script: Fix script scanner endianness
The script interpreter was reading the length of compressed data as
an host-endian uint32_t, thus making cairo-script able to correctly
read traces that were produced on the same endianness as the one they
ran upon, but unsuitable for portabile cairo-scripts.
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
Reproduce steps:
--------------------
1. xinit&
2. ./cairo-perf-trace evolution.trace
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the cairo-bugs
mailing list