Re: Crash, when disable pane2 toolbar, and then reenable it

On Thu, 8 Mar 2007 13:08:04 -0500
<tpgww@xxxxxxxxxxx> wrote:

> Sofar I can't reproduce that behaviour.
> 
> Alex, can you provide any other useful context? 
> e.g.
I have investigated this behavior, and got the following.
This bug happens with panebar1 and with panebar2 either.

> difference between config files pre- and post-change ?
The only difference is in "panebar1-show" key. In the beginning it is true.
After segfault it is false. So, this is the most strange: if I take working 
config file and replace "panebar1-show=true" with "false", emelfm2 will never 
start, until I revert config file.

> toolbar in default location (container) ?
> both panes have same configuration ?
> other file-pane hidden or shown ?
> toolbar "folded" into 2 lines ?
> any non-default items in the toolbar ?
> problem also happens after "ok" press then re-open config dialog?
I can start emelfm2 with default configuration (delete it config 
files), but the problem remains. It segfaults, if either panebar1 or 
panebar2 disabled.


I compiled emelfm2 with DEBUG=1, and this what it says 
when I start it (truncated):
[DEBUG ] general e2_keybinding_sync
[DEBUG ] general.panes e2_keybinding_sync
[DEBUG ] general.directory lines e2_keybinding_sync
[DEBUG ] general.command line e2_keybinding_sync
[DEBUG ] rest button created and added to taskbar
[DEBUG ] connecting [un]maps for taskbar
[DEBUG ] rest button created and added to panebar2
[DEBUG ] connecting [un]maps for panebar2
[DEBUG ] connecting [un]maps for commandbar
Segmentation fault


I traced it in gdb, and realized, that the problem is in function 
e2_toolbar_initialise_tearoffs() from src/e2_toolbar.c

This is log from gdb:
Breakpoint 3, e2_toolbar_initialise_tearoffs () at src/e2_toolbar.c:1006
1006    {
(gdb) step
1008            for (thisbar = app.bars; *thisbar != NULL; thisbar++)
(gdb) step
1010                    E2_ToolbarRuntime *trt = (*thisbar)->rt;
(gdb) step
1011                    g_signal_connect (G_OBJECT (trt->toolbar_container), 
"child-detached",
(gdb) step
1013                    g_signal_connect (G_OBJECT (trt->toolbar_container), 
"child-attached",
(gdb) step
1008            for (thisbar = app.bars; *thisbar != NULL; thisbar++)
(gdb) step
1010                    E2_ToolbarRuntime *trt = (*thisbar)->rt;
(gdb) step
1011                    g_signal_connect (G_OBJECT (trt->toolbar_container), 
"child-detached",
(gdb) print trt->toolbar_container
$3 = (GtkWidget *) 0x0
(gdb) step

Program received signal SIGSEGV, Segmentation fault.
0xb7b215ec in g_signal_connect_data () from /usr/lib/libgobject-2.0.so.0


Any ideas?

-- 
Alexander Orlov


-- 
Users can unsubscribe from the list by sending email to 
emelfm2-request@xxxxxxxxxxxxx with 'unsubscribe' in the subject field or by 
logging into the web interface.

Other related posts: