Closed Bug 353162 Opened 18 years ago Closed 18 years ago

Firefox calls system pixman_image_init and causes hang

Categories

(Firefox Build System :: General, defect)

x86
OpenSolaris
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ginnchen+exoracle, Assigned: alfred.peng)

Details

Attachments

(3 files)

I built Firefox 3 using cairo gfx on Solaris 5.11.

It hangs at startup.

Here's the stack:
  [1] _free_unlocked(0xd1, 0xfb5bfe64, 0xfb5bc054, 0x8046d3c, 0xfb9604c8, 0x8046d3c), at 0xfeef5372 
  [2] free(0xd1), at 0xfeef532b 
=>[3] _moz_cairo_pixman_image_destroy(image = 0x86ab718), line 501 in "icimage.c"
  [4] _cairo_image_surface_finish(abstract_surface = 0x86ab790), line 527 in "cairo-image-surface.c"
  [5] _moz_cairo_surface_finish(surface = 0x86ab790), line 447 in "cairo-surface.c"
  [6] _moz_cairo_surface_destroy(surface = 0x86ab790), line 398 in "cairo-surface.c"
  [7] gfxASurface::Destroy(this = 0x86ab688), line 143 in "gfxASurface.cpp"

I set breakpoint at pixman_image_init and restart it.
I find the system version get called.
  [1] pixman_image_init(0x86ab678), at 0xfbfe3a28 
  [2] pixman_image_createForPixels(0x86ab648, 0x86ab618), at 0xfbfe3a1a 
=>[3] _moz_cairo_pixman_image_create_for_data(data = 0x86a83a8, format = 0x86ab618, width = 2, height = 2, bpp = 32, stride = 8), line 60 in "icimage.c"
Don't know if it relates to Bug 353132.

It seems we need to add more define into pixman-remap.h.
BTW: cairo on my system is 1.0.2
Attached patch Patch v1Splinter Review
The similar patch with bug 341874. Also make some changes to compromise the different code styles on Solaris and Linux.
Assignee: nobody → alfred.peng
Status: NEW → ASSIGNED
Attachment #239114 - Flags: review?(benjamin)
I think this patch should also be in the cairo itself. CC Carl into this bug.
Attached patch Patch for glitzSplinter Review
Same MACRO define.
Attachment #239123 - Flags: review?(benjamin)
Comment on attachment 239114 [details] [diff] [review]
Patch v1

This patch needs to be upstreamed.
Attachment #239114 - Flags: review?(vladimir)
Attachment #239114 - Flags: review?(benjamin)
Attachment #239114 - Flags: review+
Attachment #239123 - Flags: review?(vladimir)
Attachment #239123 - Flags: review?(benjamin)
Attachment #239123 - Flags: review+
Checking in gfx/cairo/glitz/src/glitzint.h;
/cvsroot/mozilla/gfx/cairo/glitz/src/glitzint.h,v  <--  glitzint.h
new revision: 1.5; previous revision: 1.4
done
Checking in gfx/cairo/libpixman/src/icint.h;
/cvsroot/mozilla/gfx/cairo/libpixman/src/icint.h,v  <--  icint.h
new revision: 1.8; previous revision: 1.7
done
Checking in gfx/cairo/libpixman/src/icrop.h;
/cvsroot/mozilla/gfx/cairo/libpixman/src/icrop.h,v  <--  icrop.h
new revision: 1.6; previous revision: 1.5
done
Checking in gfx/cairo/libpixman/src/slim_internal.h;
/cvsroot/mozilla/gfx/cairo/libpixman/src/slim_internal.h,v  <--  slim_internal.hnew revision: 1.6; previous revision: 1.5
done

The patch is up-streamed.

Thanks for timeless's patch in bug 354388. To be consistent with cairo community code, I also change "int pixman_private" to "pixman_private int", although I think they both can work.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Component: Build Config → General
Product: Firefox → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: