Crash when Adding Shortcut to Speed Dial

Bug #736427 reported by Jeff Hoogland
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Midori Web Browser
Fix Released
High
Unassigned

Bug Description

Midori is consistently crashing out on me whenever I add a shortcut to the speed dial. I add the URL, set the name, click OK and then moments later the browser dumps. When I load back up the shortcut has been added successfully though...

This has been happening for some time now, first started using Midori 0.3.0 when I noticed it happening, currently running a version of Midori compiled from git a week or so ago.

Anyone else having this issue?
~Jeff

Michael Moroni (airon90)
tags: added: crash speeddial
Revision history for this message
Jeff Hoogland (blue-starsoar) wrote :

back trace out put:

bt
#0 0xb643db28 in ?? () from /lib/libc.so.6
#1 0xb76ce9f4 in g_str_equal () from /lib/libglib-2.0.so.0
#2 0xb6ed06a7 in ?? () from /usr/lib/libwebkit-1.0.so.2
#3 0xb6eb3fd3 in ?? () from /usr/lib/libwebkit-1.0.so.2
#4 0xb6b24460 in ?? () from /usr/lib/libwebkit-1.0.so.2
#5 0xb6b2474c in ?? () from /usr/lib/libwebkit-1.0.so.2
#6 0xb6b1f801 in ?? () from /usr/lib/libwebkit-1.0.so.2
#7 0xb6b1f82b in ?? () from /usr/lib/libwebkit-1.0.so.2
#8 0xb6b251ff in ?? () from /usr/lib/libwebkit-1.0.so.2
#9 0xb6b1f3c1 in ?? () from /usr/lib/libwebkit-1.0.so.2
#10 0xb6e9ba51 in ?? () from /usr/lib/libwebkit-1.0.so.2
#11 0xb7656738 in ?? () from /usr/lib/libsoup-2.4.so.1
#12 0xb765695d in ?? () from /usr/lib/libsoup-2.4.so.1
#13 0xb7656a28 in ?? () from /usr/lib/libsoup-2.4.so.1
#14 0xb76a6471 in ?? () from /lib/libglib-2.0.so.0
#15 0xb76aac28 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#16 0xb76ab3f0 in ?? () from /lib/libglib-2.0.so.0
#17 0xb76abaab in g_main_loop_run () from /lib/libglib-2.0.so.0
#18 0xb7cbc479 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x08066eea in main ()

Revision history for this message
Nathan-thomas (nathan-thomas) wrote :

I'm also experiencing this bug with Fedora 14 and Midori 0.3.3 compiled from source.

Nathan

Revision history for this message
nirik (kevin-scrye) wrote :
Revision history for this message
Cris Dywan (kalikiana) wrote :

This is a WebKitGTK+ bug as far as I can tell. There was a similar crasher in older versions and there's a workaround for it.

- One way is to enable the workaround - to not destroy the thumbnail view - for whatever WebKit version is affected here.
- A more general option is to put the thumbnail view in a separate notebook and do this regardless of the WebKitGTK+ version.

Changed in midori:
status: New → Confirmed
Cris Dywan (kalikiana)
Changed in midori:
assignee: nobody → Christian Dywan (kalikiana)
status: Confirmed → In Progress
summary: - Crash when Adding a Short Cut to Speed Dial
+ Crash when Adding Shortcut to Speed Dial
Revision history for this message
Cris Dywan (kalikiana) wrote :

This patch was supposed to be moving the thumbnail creation into a separate notebook and clean up the code a little. Unfortunately it looks like it's impossible to start with because thumbnails ultimately render at the size of the container...

Changed in midori:
status: In Progress → Confirmed
assignee: Christian Dywan (kalikiana) → nobody
Revision history for this message
Brice Marnier (brice-marnier) wrote :
Download full text (6.9 KiB)

Same here with midori 0.3.2 on up-to-date Ubuntu Linux (x86-64)...
I've run midori with strace (-f), it seems to crash just after writing to ~/.config/midori/speeddial.json , which is not yet synced nor closed when SIGSEGV rises...

Here is the critical part (not sure the whole log would help, but it is available if anyone is interested).
I started midori once first to reset the session to a single speed dial tab. Then I restart midori, and click one empty slot to add a shortcut, enter an URL, enter shortname, and boom.

20728 open("/home/brice/.config/midori/speeddial.json.P1YFYV", O_RDWR|O_CREAT|O_EXCL, 0666) = 21
20728 fcntl(21, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
20728 fstat(21, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
20728 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0fe2ce4000
20728 lseek(21, 0, SEEK_CUR) = 0
20728 write(21, " '{\"shortcuts\":[{\"id\":\"s1\",\"href"..., 20480) = 20480
20728 write(21, "qtdWcpPplm4ovXDLPOYGxrqI4m8hYjwU"..., 4092) = 4092
20728 fstatfs(21, {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=5160447, f_bfree=1291182, f_bavail=1029022, f_files=2626560, f_ffree=2231992, f_fsid={-1866684618, 1339920286}, f_namelen=255, f_frsize=4096}) = 0
20728 lstat("/home/brice/.config/midori/speeddial.json", {st_mode=S_IFREG|0644, st_size=10541, ...}) = 0
20728 fsync(21 <unfinished ...>
20752 <... swapoff resumed> ) = 0
20752 clock_gettime(CLOCK_MONOTONIC, {5998560, 597723725}) = 0
20752 read(3, <unfinished ...>
20728 <... sethostname resumed> ) = 0
20752 <... read resumed> 0x9fd8218, 4096) = -1 EAGAIN (Resource temporarily unavailable)
20728 close(21 <unfinished ...>
20752 read(3, <unfinished ...>
20728 <... read resumed> "", 4092) = 0
20752 <... read resumed> 0x9fd8218, 4096) = -1 EAGAIN (Resource temporarily unavailable)
20728 munmap(0x7f0fe2ce4000, 4096 <unfinished ...>
20752 poll([{fd=3, events=POLLIN}], 1, 0 <unfinished ...>
20728 <... execve resumed> ) = 0
20752 <... poll resumed> ) = 0 (Timeout)
20728 rename("/home/brice/.config/midori/speeddial.json.P1YFYV", "/home/brice/.config/midori/speeddial.json" <unfinished ...>
20752 read(4, 0x9ffc178, 4096) = -1 EAGAIN (Resource temporarily unavailable)
20752 read(3, 0x9fd8218, 4096) = -1 EAGAIN (Resource temporarily unavailable)
20728 <... oldselect resumed> ) = 0 (Timeout)
20752 read(3, 0x9fd8218, 4096) = -1 EAGAIN (Resource temporarily unavailable)
20752 poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout)
20752 clock_gettime(CLOCK_MONOTONIC, {5998560, 598281235}) = 0
20752 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN}], 4, 25 <unfinished ...>
20728 writev(11, [{"GIOP\1\2\1\0\220\v\0\0", 12}, {"\230\2524&\3\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0'4\20X\342\235\250(\300+(("..., 2044}, {"ROLE_TOOL_TIP\0\0\0\n\0\0\0ROLE_TREE\0\0\0"..., 916}], 3) = 2972
20728 poll([{fd=6, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=18, events=POLLIN|POLLPRI}], 4, -1) = 1 ([{fd=11, revents=POLLIN}])
20728 read(11, "GIOP\1\2\1\1$\0\0\0", 12) = 12
20728 read(11, "\23...

Read more...

Revision history for this message
Cris Dywan (kalikiana) wrote :

This patch applies two approaches: using GtkOffscreenWindow and using a static thumb_view. This solves the ninja tab for GTK+ >= 2.20.

Changed in midori:
status: Confirmed → In Progress
Revision history for this message
Cris Dywan (kalikiana) wrote :

I need to point out the above patch has one unsolved flaw: scrollbars show up on thumbnails.

Revision history for this message
Cris Dywan (kalikiana) wrote :

I changed the patch to use a plain WebKitWebView to get rid of the scrollbars and an offscreen size of 800x600 to get a useful overview of the page - anything bigger doesn't feel userful.

Changed in midori:
status: In Progress → Fix Committed
importance: Undecided → High
Cris Dywan (kalikiana)
Changed in midori:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.