2024-03-29 01:58 UTC

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002201NetSurfGTK-specificpublic2015-03-10 23:39
Reporternpnth 
Assigned ToVincent Sanders 
SeveritycrashReproducibilityalways 
StatusclosedResolutionfixed 
PlatformLinuxOSGentoo LinuxOS VersionRolling
Product Version3.2 
Target Version3.3Fixed in Version3.3 
Summary0002201: When viewing a website with frames in netsurf-gtk, file selection inputs cause crash
DescriptionIf a page has frames, and one of the frames contains a page with an input element of type file, clicking on the file input button causes a crash.
Steps To Reproduce - Download attached tarball and extract
 - Visit the page `a.html' found in the tarball. It should be a frameset referencing `b.html' and `c.html'.
 - Click the file selection button in the `C' frame. A segmentation fault should occur.
Additional InformationVisiting `c.html' directly allows file selection as expected.

I encountered this while testing one of my projects. I'm not sure if any page in the wild uses this (or frames themselves), so unfortunately I cannot provide a problem page directly.

See attached files for configuration and log output.
TagsNo tags attached.
Fixed in CI build #
Reported in CI build #
URL of problem page
Attached Files
  • zip file icon frameset_with_file_selection.zip (1,298 bytes) 2014-09-20 21:31
  • log file icon frames.log (22,914 bytes) 2014-09-20 21:32
  • ? file icon Choices (343 bytes) 2014-09-20 21:32 -
    http_proxy_auth:2
    font_size:100
    accept_language:en
    block_advertisements:1
    homepage_url:file:///usr/share/netsurf/en/welcome.html
    search_url_bar:1
    search_provider:18
    toolbar_status_size:6669
    core_select_menu:1
    downloads_clear:1
    downloads_directory:/tmp
    show_single_tab:1
    button_type:4
    disable_popups:1
    disable_plugins:1
    focus_new:1
    new_blank:1
    
    ? file icon Choices (343 bytes) 2014-09-20 21:32 +
  • txt file icon gdb_backtrace.txt (5,117 bytes) 2014-09-21 01:14 -
    $ gdb netsurf-gtk
    GNU gdb (Gentoo 7.8 vanilla) 7.8
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-pc-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://bugs.gentoo.org/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from netsurf-gtk...Reading symbols from /usr/lib64/debug//usr/bin/netsurf-gtk.debug...(no debugging symbols found)...done.
    (no debugging symbols found)...done.
    (gdb) run file:///tmp/a/a.html
    Starting program: /usr/bin/netsurf-gtk file:///tmp/a/a.html
    warning: Could not load shared library symbols for linux-vdso.so.1.
    Do you need "set solib-search-path" or "set sysroot"?
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib64/libthread_db.so.1".
    [New Thread 0x7fffebe78700 (LWP 11910)]
    [New Thread 0x7fffeb3bd700 (LWP 11911)]
    [New Thread 0x7fffeabbc700 (LWP 11912)]
    [New Thread 0x7fffea3bb700 (LWP 11914)]
    [New Thread 0x7fffe9bba700 (LWP 11915)]
    [New Thread 0x7fffe0bd8700 (LWP 11917)]
    [Thread 0x7fffe0bd8700 (LWP 11917) exited]
    [Thread 0x7fffeabbc700 (LWP 11912) exited]
    [Thread 0x7fffe9bba700 (LWP 11915) exited]
    
    Program received signal SIGSEGV, Segmentation fault.
    0x000000000049a380 in gui_window_file_gadget_open ()
    (gdb) thread apply all bt
    
    Thread 5 (Thread 0x7fffea3bb700 (LWP 11914)):
    #0  0x00007ffff35da4de in pthread_cond_timedwait () from /lib64/libpthread.so.0
    #1  0x00007ffff5af2735 in g_cond_wait_until () from /usr/lib64/libglib-2.0.so.0
    #2  0x00007ffff5a872b1 in g_async_queue_pop_intern_unlocked () from /usr/lib64/libglib-2.0.so.0
    #3  0x00007ffff5a8783b in g_async_queue_timeout_pop () from /usr/lib64/libglib-2.0.so.0
    #4  0x00007ffff5ad6416 in g_thread_pool_thread_proxy () from /usr/lib64/libglib-2.0.so.0
    #5  0x00007ffff5ad59c5 in g_thread_proxy () from /usr/lib64/libglib-2.0.so.0
    #6  0x00007ffff35d6073 in start_thread () from /lib64/libpthread.so.0
    #7  0x00007ffff33134ad in clone () from /lib64/libc.so.6
    
    Thread 3 (Thread 0x7fffeb3bd700 (LWP 11911)):
    #0  0x00007ffff3309dcd in poll () from /lib64/libc.so.6
    #1  0x00007ffff5ab0b64 in g_main_context_iterate.isra () from /usr/lib64/libglib-2.0.so.0
    #2  0x00007ffff5ab0c6c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
    #3  0x00007ffff5ab0ca9 in glib_worker_main () from /usr/lib64/libglib-2.0.so.0
    #4  0x00007ffff5ad59c5 in g_thread_proxy () from /usr/lib64/libglib-2.0.so.0
    #5  0x00007ffff35d6073 in start_thread () from /lib64/libpthread.so.0
    #6  0x00007ffff33134ad in clone () from /lib64/libc.so.6
    
    Thread 2 (Thread 0x7fffebe78700 (LWP 11910)):
    #0  0x00007ffff35da10c in pthread_cond_wait () from /lib64/libpthread.so.0
    #1  0x00007ffff2a60320 in PR_WaitCondVar () from /usr/lib64/libnspr4.so
    #2  0x00007ffff63a0576 in js::GCHelperThread::threadMain(void*) () from /usr/lib64/libmozjs185.so.1.0
    #3  0x00007ffff2a656dc in _pt_root () from /usr/lib64/libnspr4.so
    #4  0x00007ffff35d6073 in start_thread () from /lib64/libpthread.so.0
    #5  0x00007ffff33134ad in clone () from /lib64/libc.so.6
    
    Thread 1 (Thread 0x7ffff7fb38c0 (LWP 11906)):
    #0  0x000000000049a380 in gui_window_file_gadget_open ()
    #1  0x0000000000461e06 in browser_window_callback ()
    #2  0x0000000000449939 in hlcache_content_callback ()
    #3  0x000000000043f16e in content_broadcast ()
    #4  0x00000000004b55ce in html_mouse_action ()
    #5  0x000000000049b809 in nsgtk_window_button_release_event ()
    #6  0x00007ffff4858115 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib64/libgtk-x11-2.0.so.0
    #7  0x00007ffff5dab398 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
    #8  0x00007ffff5dbcc4d in signal_emit_unlocked_R () from /usr/lib64/libgobject-2.0.so.0
    #9  0x00007ffff5dc4609 in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
    #10 0x00007ffff5dc4bfa in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
    #11 0x00007ffff4967cc4 in gtk_widget_event_internal () from /usr/lib64/libgtk-x11-2.0.so.0
    #12 0x00007ffff48568c4 in gtk_propagate_event () from /usr/lib64/libgtk-x11-2.0.so.0
    #13 0x00007ffff4856c7b in gtk_main_do_event () from /usr/lib64/libgtk-x11-2.0.so.0
    #14 0x00007ffff44d297c in gdk_event_dispatch () from /usr/lib64/libgdk-x11-2.0.so.0
    #15 0x00007ffff5ab0984 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
    #16 0x00007ffff5ab0bc8 in g_main_context_iterate.isra () from /usr/lib64/libglib-2.0.so.0
    #17 0x00007ffff5ab0c6c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
    #18 0x00007ffff4855fbd in gtk_main_iteration_do () from /usr/lib64/libgtk-x11-2.0.so.0
    #19 0x0000000000483f78 in nsgtk_poll ()
    #20 0x000000000046be0e in netsurf_main_loop ()
    #21 0x0000000000484f8e in gui_init ()
    #22 0x0000000000429fef in main ()
    (gdb)
    
    txt file icon gdb_backtrace.txt (5,117 bytes) 2014-09-21 01:14 +

-Relationships
+Relationships

-Notes
Vincent Sanders

~0000620

Vincent Sanders (administrator)

Appears to be resolved in 3.3 release
Vincent Sanders

~0000736

Vincent Sanders (administrator)

Confirmed fixed in 3.3 release
+Notes

-Issue History
Date Modified Username Field Change
2014-09-20 21:31 npnth New Issue
2014-09-20 21:31 npnth File Added: frameset_with_file_selection.zip
2014-09-20 21:32 npnth File Added: frames.log
2014-09-20 21:32 npnth File Added: Choices
2014-09-21 01:14 npnth File Added: gdb_backtrace.txt
2014-09-23 09:15 Vincent Sanders Status new => acknowledged
2015-03-01 17:57 Vincent Sanders Note Added: 0000620
2015-03-01 17:57 Vincent Sanders Assigned To => Vincent Sanders
2015-03-01 17:57 Vincent Sanders Status acknowledged => resolved
2015-03-01 17:57 Vincent Sanders Resolution open => fixed
2015-03-01 17:57 Vincent Sanders Fixed in Version => 3.3
2015-03-01 17:57 Vincent Sanders Target Version => 3.3
2015-03-10 23:39 Vincent Sanders Note Added: 0000736
2015-03-10 23:39 Vincent Sanders Status resolved => closed
+Issue History