Closed Bug 339634 Opened 18 years ago Closed 18 years ago

GLib-GObject-CRITICAL **: gtype.c:2215: initialization assertion failed, use IA__g_type_init() prior to this function

Categories

(Core :: Disability Access APIs, defect)

x86
Linux
defect
Not set
blocker

Tracking

()

RESOLVED FIXED

People

(Reporter: ajschult784, Assigned: ginnchen+exoracle)

References

Details

Attachments

(1 file, 1 obsolete file)

With today's trunk build, I get "(process:14288): GLib-GObject-CRITICAL **: gtype.c:2215: initialization assertion failed, use IA__g_type_init() prior to this function" during component regristration of nsAccessibilityModule. This is probably from bug 339314
seems it only happens with release build.
Assignee: aaronleventhal → ginn.chen
gtk_init is called after g_type_register_static the problem is the AtkTypeForMai array, initialization of this array will cause gtype registering in libatk. with release build, it happens earlier than gtk_init in nsAppRunner.cpp
Status: NEW → ASSIGNED
Blocks: 339314
Attached patch patch (obsolete) — Splinter Review
use switch-case instead of array to avoid earlier initialization. this bug only happens to release build because release build uses --enable-static, so the array will be initialized before firefox starts. Otherwise it will be initialized when libaccessibility.so loads, which is after gtk_init().
This bug causes gecko a11y doesn't work on Linux.
Severity: normal → blocker
Attachment #223742 - Flags: review?(ajschult)
Attached patch patchSplinter Review
fix some styles. roc, Aaron is on vacation this week, this bug is a blocker of a11y on Linux can you review this patch? Thanks.
Attachment #223742 - Attachment is obsolete: true
Attachment #223750 - Flags: review?(roc)
Attachment #223742 - Flags: review?(ajschult)
*** Bug 339718 has been marked as a duplicate of this bug. ***
Comment on attachment 223750 [details] [diff] [review] patch +static const GType GetAtkTypeForMai(MaiInterfaceType type) "const" is meaningless here, remove it. + if (typeRegCount++ > 4095) { + return G_TYPE_INVALID; } I think you want >= here. With >, it might try to register 4096 types.
Attachment #223750 - Flags: superreview+
Attachment #223750 - Flags: review?(roc)
Attachment #223750 - Flags: review+
Checking in src/atk/nsAccessibleWrap.cpp; /cvsroot/mozilla/accessible/src/atk/nsAccessibleWrap.cpp,v <-- nsAccessibleWrap.cpp new revision: 1.33; previous revision: 1.32 done
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: