startup crash in TestGtkEmbed [@ EmbedPrivate::Realize]

RESOLVED INCOMPLETE

Status

Core Graveyard
Embedding: GTK Widget
--
critical
RESOLVED INCOMPLETE
9 years ago
6 years ago

People

(Reporter: karlt, Assigned: timeless)

Tracking

(Depends on: 1 bug, Blocks: 1 bug, {crash})

Trunk
x86
Linux
crash
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(crash signature)

Attachments

(1 attachment)

(Reporter)

Description

9 years ago
1. Set GRE_HOME and LD_LIBRARY_PATH to include dist/bin.
2. Run dist/bin/TestGtkEmbed.

0x00007fd6c7b1bc04 in EmbedPrivate::Realize (this=0x10ee3b0,
    aAlreadyRealized=0x7fffd6eda994)
    at /home/karl/moz/dev/embedding/browser/gtk/src/EmbedPrivate.cpp:295
295       mNavigation->SetSessionHistory(mSessionHistory);
(gdb) bt
#0  0x00007fd6c7b1bc04 in EmbedPrivate::Realize (this=0x10ee3b0,
    aAlreadyRealized=0x7fffd6eda994)
    at /home/karl/moz/dev/embedding/browser/gtk/src/EmbedPrivate.cpp:295
#1  0x00007fd6c7b187e1 in gtk_moz_embed_realize (widget=0xf70110)
    at /home/karl/moz/dev/embedding/browser/gtk/src/gtkmozembed2.cpp:490
#2  0x00007fd6cc66be0f in IA__g_closure_invoke (closure=0xf6b970,
    return_value=0x0, n_param_values=1, param_values=0x11796e0,
    invocation_hint=0x7fffd6edab60) at gclosure.c:767
#3  0x00007fd6cc680b88 in signal_emit_unlocked_R (node=0xf6bdc0, detail=0,
    instance=0xf70110, emission_return=0x0, instance_and_params=0x11796e0)
    at gsignal.c:3177
#4  0x00007fd6cc68296b in IA__g_signal_emit_valist (instance=0xf70110,
    signal_id=<value optimized out>, detail=0, var_args=0x7fffd6edad40)
    at gsignal.c:2980
#5  0x00007fd6cc682e28 in IA__g_signal_emit (instance=0x10ee3f8, signal_id=0,
    detail=4294699151) at gsignal.c:3037
#6  0x00007fd6ce1c5a0f in IA__gtk_widget_realize (widget=0xf70110)
    at gtkwidget.c:3325
#7  0x00007fd6ce1c61a1 in IA__gtk_widget_map (widget=0xf70110)
    at gtkwidget.c:3199
#8  0x00007fd6ce0293bb in gtk_box_forall (container=0xf96040,
    include_internals=<value optimized out>,
    callback=0x7fd6ce0566f7 <gtk_container_map_child>, callback_data=0x0)
    at gtkbox.c:1249
#9  0x00007fd6ce0566db in gtk_container_map (widget=0x10ee3f8)
    at gtkcontainer.c:2665
#10 0x00007fd6cc66bd6e in IA__g_closure_invoke (closure=0xf6ba70,
    return_value=0x0, n_param_values=1, param_values=0x11632e0,
    invocation_hint=0x7fffd6edb020) at gclosure.c:767
(Reporter)

Updated

9 years ago
Depends on: 531336
(Assignee)

Comment 1

9 years ago
p mNavigation
Severity: normal → critical
Keywords: crash
Summary: startup crash in TestGtkEmbed → startup crash in TestGtkEmbed [@ EmbedPrivate::Realize]
(Reporter)

Comment 2

9 years ago
$1 = {mRawPtr = 0x0}
(Assignee)

Comment 4

9 years ago
Created attachment 414818 [details] [diff] [review]
patch
Assignee: nobody → timeless
Status: NEW → ASSIGNED
Attachment #414818 - Flags: review?(karlt)
(Reporter)

Comment 5

9 years ago
Why test mSessionHistory when mNavigation is NULL?
Isn't the lack of an mNavigation going to cause problems with LoadCurrentURI()?
(Assignee)

Updated

9 years ago
Attachment #414818 - Flags: review?(karlt) → review-
(Assignee)

Comment 6

9 years ago
Comment on attachment 414818 [details] [diff] [review]
patch

hrm, yeah... probably the right thing to do is instantiate a default NS_WEBBROWSER_CONTRACTID and use that...

Comment 7

8 years ago
For current trunk, I don't have the crash at line 295, but at line 319.

mInternalWidget is null.

Comment 8

8 years ago
I didn't reproduce this crash on Linux with either latest mozilla-central, or mozilla-central of Nov 27, 2009.

But I can reproduce the crash at line 319 on Solaris.

Comment 9

8 years ago
This is really weird.

I couldn't reproduce it with another machine of Solaris.
And I tried to rebuild mozilla-central on it, then it crashed on line 295.

The solution is simple.
Nuke your $HOME/.TestGtkEmbed.

I still don't understand why it crashed on another box at line 319.
I would try to rebuild mozilla-central on it.

Comment 10

8 years ago
Rebuilding mozilla-central in a clean directory and rm -rf $HOME/.TestGtkEmbed solved the problem.

So the root cause of this bug is $HOME/.TestGtkEmbed/compreg.dat is dirty.
Crash Signature: [@ EmbedPrivate::Realize]
Component: Embedding: GTK Widget → Embedding: GTK Widget
Product: Core → Core Graveyard

Comment 11

6 years ago
AFAIK, GTK embedding in that way has been discontinued, and future embedding efforts will likely go different ways, so this bug is probably not relevant any more.
That said, there's no info here on any recent software versions and code responsible for that probably has changed a lot. If this is still relevant, please reopen with current info and a crash signature.
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.