Bug 20300

Summary: gnome-photos crashes on startup from the command line
Product: Mageia Reporter: Shlomi Fish <shlomif>
Component: RPM PackagesAssignee: GNOME maintainers <gnome>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: Normal CC: marja11, olav
Version: Cauldron   
Target Milestone: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Source RPM: CVE:
Status comment:

Description Shlomi Fish 2017-02-16 12:33:01 CET
gnome-photos crashes on startup from the command line including in a new user, in JWM/startx. It's Mageia v6/cauldron x86-64. Other gnome applications start fine. Here is the gdb backtrace:

Script started on Thu 16 Feb 2017 13:25:30 IST
Copyright (C) 2016 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-mageia-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
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 /usr/bin/gnome-photos...Reading symbols from /usr/lib/debug/usr/bin/gnome-photos.debug...done.
done.
(gdb) r
Starting program: /usr/bin/gnome-photos 
Missing separate debuginfos, use: debuginfo-install glibc-2.22-21.mga6.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: the debug information found in "/usr/lib/debug//usr/lib64/libxml2.so.2.9.4.debug" does not match "/lib64/libxml2.so.2" (CRC mismatch).

Missing separate debuginfo for /lib64/libxml2.so.2
Try: urpmi  /usr/lib/debug/.build-id/84/61bb69dca9ebc726cf87e853c540dd04e59df5.debug
[New Thread 0x7ffff2e0d700 (LWP 10140)]
[New Thread 0x7ffff260c700 (LWP 10141)]
[New Thread 0x7ffff1e0b700 (LWP 10142)]
[New Thread 0x7ffff160a700 (LWP 10143)]
[New Thread 0x7ffff0e09700 (LWP 10144)]
[Thread 0x7ffff160a700 (LWP 10143) exited]
[Thread 0x7ffff1e0b700 (LWP 10142) exited]

(gnome-photos:10135): Grilo-[1;33mWARNING[0m **: [registry] grl-registry.c:1255: Could not open directory '/usr/lib64/grilo-0.3': Error opening directory '/usr/lib64/grilo-0.3': No such file or directory

(gnome-photos:10135): Grilo-[1;33mWARNING[0m **: [registry] grl-registry.c:1362: Plugin 'grl-flickr' not available

** (gnome-photos:10135): [1;33mWARNING[0m **: Unable to activate Grilo's Flickr plugin: Plugin 'grl-flickr' not available
[New Thread 0x7ffff160a700 (LWP 10150)]

(gnome-photos:10135): GLib-GIO-[1;31mERROR[0m **: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed


Thread 1 "gnome-photos" received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=1) at gmessages.c:509
509	}
(gdb) bt full
#0  0x0000003c9c24f0c1 in _g_log_abort (breakpoint=1) at gmessages.c:509
        debugger_present = 1
#1  0x0000003c9c2500f9 in g_log_default_handler (log_domain=log_domain@entry=0x3ca630c01d "GLib-GIO", log_level=log_level@entry=6, message=message@entry=0x122e860 "Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed\n", unused_data=unused_data@entry=0x0) at gmessages.c:2896
        domains = <optimized out>
        fields = 
            {{key = 0x3c9c29a7f6 "GLIB_OLD_LOG_API", value = 0x3c9c2eee80, length = -1}, {key = 0x3c9c29a710 "MESSAGE", value = 0x122e860, length = -1}, {key = 0x3c9c29a723 "PRIORITY", value = 0x3c9c294b5a, length = -1}, {key = 0x3c9c29a77d "GLIB_DOMAIN", value = 0x3ca630c01d, length = -1}}
        n_fields = <optimized out>
#2  0x0000003c9c250414 in g_logv (log_domain=0x3ca630c01d "GLib-GIO", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=args@entry=0x7fffffffbad8)
    at gmessages.c:1297
        domain = 0x0
        data = 0x0
        depth = 1
        log_func = 0x3c9c250040 <g_log_default_handler>
        domain_fatal_mask = <optimized out>
        masquerade_fatal = 0
        test_level = 6
        was_fatal = <optimized out>
        was_recursion = <optimized out>
        msg = 0x122e860 "Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed\n"
        msg_alloc = 0x122e860 "Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed\n"
        i = 2
#3  0x0000003c9c250612 in g_log (log_domain=log_domain@entry=0x3ca630c01d "GLib-GIO", log_level=log_level@entry=G_LOG_LEVEL_ERROR, format=format@entry=0x3ca633b498 "Settings schema '%s' is not installed\n") at gmessages.c:1359
Python Exception <class 'gdb.error'> Attempt to dereference a generic pointer.: 
#4  0x0000003ca630280f in g_settings_set_property (object=0x10ffdc0 [GSettings], prop_id=<optimized out>, value=<optimized out>, pspec=<optimized out>)
    at gsettings.c:590
        default_source = <optimized out>
        schema_id = 0x9bfda0 "org.freedesktop.Tracker.Miner.Files"
        settings = 0x10ffdc0 [GSettings]
        __func__ = "g_settings_set_property"
#5  0x0000003c9ca152e3 in object_set_property (nqueue=0x1203980, value=<optimized out>, pspec=0x9ece90 [GParamString], object=0x10ffdc0 [GSettings])
    at gobject.c:1423
        tmp_value = 
              {g_type = 64, data = {{v_int = 10223008, v_uint = 10223008, v_long = 10223008, v_ulong = 10223008, v_int64 = 10223008, v_uint64 = 10223008, v_float = 1.43254854e-38, v_double = 5.0508370499602302e-317, v_pointer = 0x9bfda0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        class = 0x9e9e50
        param_id = 2
        redirect = <optimized out>
        value = <optimized out>
        pspec = <optimized out>
        j = <optimized out>
        node = 0xb30030 = {0x9ece90, 0x9ecf20}
        nqueue = 0x1203980
        object = 0x10ffdc0 [GSettings]
---Type <return> to continue, or q <return> to quit---
        __func__ = "g_object_new_internal"
#6  0x0000003c9ca152e3 in g_object_new_internal (class=class@entry=0x9e9e50, params=params@entry=0x7fffffffbd50, n_params=n_params@entry=1) at gobject.c:1817
        value = <optimized out>
        pspec = <optimized out>
        j = <optimized out>
        node = 0xb30030 = {0x9ece90, 0x9ecf20}
        nqueue = 0x1203980
        object = 0x10ffdc0 [GSettings]
        __func__ = "g_object_new_internal"
#7  0x0000003c9ca16d35 in g_object_new_valist (object_type=object_type@entry=10724208, first_property_name=first_property_name@entry=0x3ca633bfc3 "schema-id", var_args=var_args@entry=0x7fffffffbea8) at gobject.c:2042
        stack_params = 
            {{pspec = 0x9ece90 [GParamString], value = 0x7fffffffbca0}, {pspec = 0x8, value = 0x7fffffffbe80}, {pspec = 0x7fffffffbda4, value = 0x7fffffffbe70}, {pspec = 0xa3ca40, value = 0xe2}, {pspec = 0x1c93db57, value = 0x724f6d}, {pspec = 0x17, value = 0x0}, {pspec = 0x7fffffffbde4, value = 0x3c99c214e0}, {pspec = 0x7fffffffbf10, value = 0x7fffffffbf38}, {pspec = 0x0, value = 0x3c99c21188}, {pspec = 0x0, value = 0x3c99a099c0 <_dl_lookup_symbol_x+320>}, {pspec = 0x18, value = 0x0}, {pspec = 0x5, value = 0x0}, {pspec = 0x1, value = 0x3c99c21188}, {pspec = 0x7ffff7fa0060, value = 0x3c99a099c0 <_dl_lookup_symbol_x+320>}, {pspec = 0x1c, value = 0x0}, {pspec = 0x3c99c214e0, value = 0x7fffffffbe80}}
        params = 0x7fffffffbd50
        name = <optimized out>
        n_params = 1
        class = <optimized out>
        unref_class = <optimized out>
        object = <optimized out>
        __func__ = "g_object_new_valist"
#8  0x0000003c9ca17084 in g_object_new (object_type=10724208, first_property_name=first_property_name@entry=0x3ca633bfc3 "schema-id") at gobject.c:1626
Python Exception <class 'gdb.error'> Attempt to dereference a generic pointer.: 
#9  0x0000003ca63037c5 in g_settings_new (schema_id=schema_id@entry=0x497c08 "org.freedesktop.Tracker.Miner.Files") at gsettings.c:965
        __func__ = "g_settings_new"
#10 0x000000000045ffa8 in photos_query_builder_filter_local ()
    at photos-query-builder.c:373
        settings = <optimized out>
        tracker_filter = <optimized out>
        desktop_uri = <optimized out>
        download_uri = <optimized out>
        export_path = <optimized out>
        export_uri = <optimized out>
        filter = <optimized out>
        path = <optimized out>
        pictures_uri = <optimized out>
        tracker_dirs = <optimized out>
        i = <optimized out>
#11 0x00000000004326e8 in photos_base_manager_get_all_filter (self=<optimized out>) at photos-base-manager.c:390
        str = <optimized out>
        filterable = 0x86c100
        id = <optimized out>
        l = 0x9ede00 = {0x86c100, 0x86c0c0}
        values = 0x9ede00 = {0x86c100, 0x86c0c0}
        blank = 0x48f086 "(true)"
        filter = <optimized out>
        strv = 0x122abe0
---Type <return> to continue, or q <return> to quit---
        tmp = <optimized out>
        i = 0
        length = <optimized out>
#12 0x000000000045fb8d in photos_query_builder_filter (flags=8, state=0x841740)
    at photos-query-builder.c:53
        sparql = <optimized out>
        src_mngr_filter = <optimized out>
        srch_mtch_mngr_filter = <optimized out>
        srch_typ_mngr_filter = <optimized out>
        count_items = 0x4975a9 "COUNT (?item) AS ?count"
        item_defined = 0
        filter = 0x0
        sparql = <optimized out>
        where_sparql = 0x1200390 "WHERE { ?urn a nmm:Photo  }"
#13 0x000000000045fb8d in photos_query_builder_where (state=state@entry=0x841740, global=global@entry=1, flags=8) at photos-query-builder.c:124
        count_items = 0x4975a9 "COUNT (?item) AS ?count"
        item_defined = 0
        filter = 0x0
        sparql = <optimized out>
        where_sparql = 0x1200390 "WHERE { ?urn a nmm:Photo  }"
#14 0x000000000045fd8c in photos_query_builder_query (offset_cntrlr=0x11f7b60 [PhotosOffsetOverviewController], flags=<optimized out>, global=1, state=0x841740) at photos-query-builder.c:154
        sparql = <optimized out>
        tail_sparql = 0x0
        where_sparql = <optimized out>
#15 0x000000000045fd8c in photos_query_builder_global_query (state=0x841740, flags=<optimized out>, offset_cntrlr=0x11f7b60 [PhotosOffsetOverviewController])
    at photos-query-builder.c:296
#16 0x000000000046e619 in photos_tracker_controller_perform_current_query (self=0x1136ea0 [PhotosTrackerOverviewController]) at photos-tracker-controller.c:208
#17 0x000000000046e619 in photos_tracker_controller_refresh_internal (self=0x1136ea0 [PhotosTrackerOverviewController], flags=<optimized out>)
    at photos-tracker-controller.c:291
#18 0x000000000046eebf in photos_tracker_controller_start (self=<optimized out>) at photos-tracker-controller.c:540
#19 0x0000000000473550 in photos_view_container_constructed (object=<optimized out>) at photos-view-container.c:380
        self = 0x11fc1e0 [PhotosViewContainer]
        accessible = <optimized out>
        action = <optimized out>
        app = 0x84a1e0 [PhotosApplication]
        generic_view = 0x1218270 [GdMainIconView]
        grid = 0x11dccc0 [GtkGrid]
        state = 0x841740
        selection_mode = <optimized out>
        status = <optimized out>
        size = <optimized out>
        __func__ = "photos_view_container_constructed"
#20 0x0000003c9ca154d7 in g_object_new_internal (class=class@entry=0x11f9cb0, params=params@entry=0x7fffffffc340, n_params=n_params@entry=4) at gobject.c:1823
        nqueue = 0x117e780
        object = 0x11fc1e0 [PhotosViewContainer]
        __func__ = "g_object_new_internal"
#21 0x0000003c9ca16d35 in g_object_new_valist (object_type=object_type@entry=18848672, first_property_name=first_property_name@entry=0x49a6ef "homogeneous", var_args=var_args@entry=0x7fffffffc498) at gobject.c:2042
---Type <return> to continue, or q <return> to quit---
        stack_params = 
            {{pspec = 0x1090910 [GParamBoolean], value = 0x7fffffffc290}, {pspec = 0x11f9030 [GParamEnum], value = 0x7fffffffc260}, {pspec = 0x1136c10 [GParamString], value = 0x7fffffffc230}, {pspec = 0x108a3a0 [GParamEnum], value = 0x7fffffffc200}, {pspec = 0x50, value = 0x53c0}, {pspec = 0x11f9c40, value = 0x0}, {pspec = 0x108b800, value = 0x3c9a27f573 <calloc+195>}, {pspec = 0x9e4420, value = 0x50}, {pspec = 0x824460, value = 0x0}, {pspec = 0x7fffffffc520, value = 0x3c9c24ecb1 <g_malloc0+33>}, {pspec = 0x11f9ba0, value = 0x3c9ca2d2a7 <type_data_make_W+151>}, {pspec = 0x1, value = 0x11f9ba0}, {pspec = 0x49a686, value = 0x7fffffffc520}, {pspec = 0x11f9ba0, value = 0x49a686}, {pspec = 0x7fffffffc520, value = 0x3c9ca317e3 <g_type_register_static+483>}, {pspec = 0x7fffffffc500, value = 0x119aec0}}
        params = 0x7fffffffc340
        name = <optimized out>
        n_params = 4
        class = <optimized out>
        unref_class = <optimized out>
        object = <optimized out>
        __func__ = "g_object_new_valist"
#22 0x0000003c9ca17084 in g_object_new (object_type=18848672, first_property_name=first_property_name@entry=0x49a6ef "homogeneous") at gobject.c:1626
Python Exception <class 'gdb.error'> Attempt to dereference a generic pointer.: 
#23 0x000000000047362c in photos_view_container_new (mode=mode@entry=PHOTOS_WINDOW_MODE_OVERVIEW, name=0x7ffff7ff55f2 "Photos") at photos-view-container.c:501
#24 0x000000000044266e in photos_embed_init (self=0x1096360 [PhotosEmbed])
    at photos-embed.c:666
        app = <optimized out>
        windows = 0x9e4420 = {0x1054450}
        model = <optimized out>
        searchbar = <optimized out>
        state = 0x841740
        querying = <optimized out>
        name = <optimized out>
#25 0x0000003c9ca328f9 in g_type_create_instance (type=<optimized out>)
    at gtype.c:1866
        instance = 0x1096360 [PhotosEmbed]
        class = 0x1068800
        allocated = <optimized out>
        private_size = <optimized out>
        ivar_size = <optimized out>
        i = 0
#26 0x0000003c9ca14f6b in g_object_new_internal (class=class@entry=0x1068800, params=params@entry=0x0, n_params=n_params@entry=0) at gobject.c:1783
        nqueue = 0x0
        object = <optimized out>
        __func__ = "g_object_new_internal"
#27 0x0000003c9ca16781 in g_object_newv (object_type=object_type@entry=18020352, n_parameters=n_parameters@entry=0, parameters=parameters@entry=0x0)
    at gobject.c:1930
        class = <optimized out>
        unref_class = <optimized out>
        object = <optimized out>
        __func__ = "g_object_newv"
#28 0x0000003c9ca1709c in g_object_new (object_type=18020352, first_property_name=first_property_name@entry=0x0) at gobject.c:1623
Python Exception <class 'gdb.error'> Attempt to dereference a generic pointer.: 
#29 0x00000000004434c9 in photos_embed_new () at photos-embed.c:784
#30 0x000000000044e108 in photos_main_window_constructed (object=<optimized out>) at photos-main-window.c:385
        self = 0x1054450 [PhotosMainWindow]
---Type <return> to continue, or q <return> to quit---
        app = 0x84a1e0 [PhotosApplication]
#31 0x0000003c9ca154d7 in g_object_new_internal (class=class@entry=0x10515d0, params=params@entry=0x7fffffffcbb0, n_params=n_params@entry=6) at gobject.c:1823
        nqueue = 0x104a000
        object = 0x1054450 [PhotosMainWindow]
        __func__ = "g_object_new_internal"
#32 0x0000003c9ca16d35 in g_object_new_valist (object_type=object_type@entry=17112784, first_property_name=first_property_name@entry=0x493ff0 "width_request", var_args=var_args@entry=0x7fffffffcd08) at gobject.c:2042
        stack_params = 
            {{pspec = 0x888320 [GParamInt], value = 0x7fffffffcb00}, {pspec = 0x8883a0 [GParamInt], value = 0x7fffffffcad0}, {pspec = 0x8d9060 [GParamObject], value = 0x7fffffffcaa0}, {pspec = 0x89f550 [GParamString], value = 0x7fffffffca70}, {pspec = 0x8c21b0 [GParamEnum], value = 0x7fffffffca40}, {pspec = 0x1052820 [GParamBoolean], value = 0x7fffffffca10}, {pspec = 0x50, value = 0x19810}, {pspec = 0x10527f0, value = 0x0}, {pspec = 0x104cfb0, value = 0x3c9a27f573 <calloc+195>}, {pspec = 0x7fffffffd020, value = 0x50}, {pspec = 0x824460, value = 0x0}, {pspec = 0x7fffffffcdb0, value = 0x3c9c24ecb1 <g_malloc0+33>}, {pspec = 0x1051ed0, value = 0x3c9ca2d2a7 <type_data_make_W+151>}, {pspec = 0x1, value = 0x1051ed0}, {pspec = 0x493faf, value = 0x7fffffffcdb0}, {pspec = 0x1051ed0, value = 0x493faf}}
        params = 0x7fffffffcbb0
        name = <optimized out>
        n_params = 6
        class = <optimized out>
        unref_class = <optimized out>
        object = <optimized out>
        __func__ = "g_object_new_valist"
#33 0x0000003c9ca17084 in g_object_new (object_type=17112784, first_property_name=first_property_name@entry=0x493ff0 "width_request") at gobject.c:1626
Python Exception <class 'gdb.error'> Attempt to dereference a generic pointer.: 
#34 0x000000000044e1d5 in photos_main_window_new (application=0x84a1e0 [PhotosApplication]) at photos-main-window.c:474
        __func__ = "photos_main_window_new"
#35 0x000000000042eb0f in photos_application_create_window (self=0x84a1e0 [PhotosApplication]) at photos-application.c:648
        self = 0x84a1e0 [PhotosApplication]
        gexiv2_initialized = <optimized out>
        gexiv2_registered_namespace = <optimized out>
#36 0x0000000000431868 in photos_application_activate (application=<optimized out>) at photos-application.c:1529
        self = 0x84a1e0 [PhotosApplication]
#40 0x0000003c9ca2a812 in <emit signal ??? on instance 0x84a1e0 [PhotosApplication]> (instance=instance@entry=0x84a1e0, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3447
Python Exception <class 'gdb.error'> Attempt to dereference a generic pointer.: 
#41 0x0000003ca629c70b in g_application_activate (application=application@entry=0x84a1e0 [PhotosApplication]) at gapplication.c:2148
        __func__ = "g_application_activate"
#42 0x0000003ca629ce96 in g_application_real_local_command_line (application=0x84a1e0 [PhotosApplication], arguments=0x7fffffffd3e0, exit_status=0x7fffffffd3dc) at gapplication.c:1045
        error = 0x0
        n_args = 1
#43 0x0000003ca629d082 in g_application_run (application=0x84a1e0 [PhotosApplication], argc=argc@entry=1, argv=argv@entry=0x7fffffffd538)
    at gapplication.c:2350
        arguments = 0x86edd0
        status = -1
        context = 0x857c40
---Type <return> to continue, or q <return> to quit---
        acquired_context = <optimized out>
        __func__ = "g_application_run"
#44 0x000000000042d0d7 in main (argc=1, argv=0x7fffffffd538)
    at photos-main.c:72
        counter_arena = <optimized out>
        app = 0x84a1e0 [PhotosApplication]
        remote_display_mngr = 0x7fffe4005b30 [PhotosRemoteDisplayManager]
        exit_status = <optimized out>
(gdb) 
(gdb) q
A debugging session is active.

	Inferior 1 [process 10135] will be killed.

Quit anyway? (y or n) y
shlomif@telaviv1:~$ exit
exit

Script done on Thu 16 Feb 2017 13:26:17 IST
Marja Van Waes 2017-02-16 15:29:30 CET

CC: (none) => marja11
Assignee: bugsquad => gnome

Comment 1 Jani Välimaa 2017-02-16 17:03:53 CET
Missing org.freedesktop.Tracker.Miner.Files gschema is provided by tracker.
Comment 2 Shlomi Fish 2017-02-16 17:38:47 CET
(In reply to Jani Välimaa from comment #1)
> Missing org.freedesktop.Tracker.Miner.Files gschema is provided by tracker.

after installing the "tracker" package, gnome-photos runs but won't display any GUI window.
Comment 3 Shlomi Fish 2017-02-16 17:42:07 CET
(In reply to Shlomi Fish from comment #2)
> (In reply to Jani Välimaa from comment #1)
> > Missing org.freedesktop.Tracker.Miner.Files gschema is provided by tracker.
> 
> after installing the "tracker" package, gnome-photos runs but won't display
> any GUI window.

it starts fine in a new UNIX  user account under JWM from startx though.
Comment 4 Olav Vitters 2017-02-21 19:51:59 CET
The tracker library package didn't require the gschema file. I could split this out into a subpackage, but then the indexing would still be broken. So fixed this by making the library require the main package. Not too many packages require tracker:

# urpmq --whatrequires 'lib64tracker1.0_0'
bijiben
brasero
gnome-boxes
gnome-online-miners
gnome-photos
grilo-plugins
lib64tracker-devel
lib64tracker-gir1.0
lib64tracker1.0_0
nautilus
nautilus-tracker
rygel-tracker
tracker

Though Nautilus is a big one, AFAIK we already assume tracker is installed soâ¦

For the no GUI still I'd like strace output.

CC: (none) => olav

Comment 5 Shlomi Fish 2017-02-21 20:46:34 CET
Hi Olav,

(In reply to Olav Vitters from comment #4)
> The tracker library package didn't require the gschema file. I could split
> this out into a subpackage, but then the indexing would still be broken. So
> fixed this by making the library require the main package. Not too many
> packages require tracker:
> 
> # urpmq --whatrequires 'lib64tracker1.0_0'
> bijiben
> brasero
> gnome-boxes
> gnome-online-miners
> gnome-photos
> grilo-plugins
> lib64tracker-devel
> lib64tracker-gir1.0
> lib64tracker1.0_0
> nautilus
> nautilus-tracker
> rygel-tracker
> tracker
> 
> Though Nautilus is a big one, AFAIK we already assume tracker is installed
> soâ¦
> 
> For the no GUI still I'd like strace output.

after trying it again - it starts eventually (after about 10-20 seconds) with an empty screen, inside strace or outside it. You can close this bug as far as I'm concerned.
Comment 6 Olav Vitters 2017-02-21 21:34:27 CET
a comment

Status: NEW => RESOLVED
Resolution: (none) => FIXED