After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 731437 - Make it work with gegl-0.3
Make it work with gegl-0.3
Status: RESOLVED FIXED
Product: gnome-photos
Classification: Applications
Component: general
3.10.x
Other All
: Normal normal
: ---
Assigned To: GNOME photos maintainer(s)
GNOME photos maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2014-06-10 07:09 UTC by j-frankish
Modified: 2015-01-23 07:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Prevent a crash when compiled with gegl-0.3 (1021 bytes, patch)
2014-07-07 18:06 UTC, Pranav Kant
needs-work Details | Review
Make photos work with gegl-0.3 (1019 bytes, patch)
2015-01-03 16:02 UTC, Pranav Kant
rejected Details | Review
gegl-gtk-view-helper: Fix crash when setting autoscale without a node (1.28 KB, patch)
2015-01-23 07:50 UTC, Debarshi Ray
committed Details | Review
preview-view: Guard against NULL node (1.67 KB, patch)
2015-01-23 07:50 UTC, Debarshi Ray
committed Details | Review

Description j-frankish 2014-06-10 07:09:00 UTC
using gnome-photos-3.10.2 with gegl-0.3.0 (needed to compile the gtk3 version of gimp) gives a segfault when clicking on a gnome-photos thumbnail.

Is gnome-photos looking for an undelying gegl dependency to open the image (jpeg) that is not present perhaps?

----------

Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: Load file [/home/tc/.config/dleyna-renderer-service.conf]
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: [General settings]
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: Never Quit: F
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: Connector Name: dbus
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: [Logging settings]
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: Log Type : 0
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: Log Level: 0x13
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: [Network filtering settings]
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: Enabled : F
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: Entries: (null)
Jun  9 20:11:14 box daemon.info dleyna-renderer-service[25310]: Calling GetRenderers method
Jun  9 16:11:24 box user.info kernel: gnome-photos[25305]: segfault at 30 ip 00007f14a39a1e2d sp 00007fffb1f45920 error 4 in libgegl-0.3.so.0.299.1[7f14a396c000+77000]
Jun  9 20:11:24 box daemon.info dleyna-renderer-service[25310]: Client :1.35 lost
Jun  9 20:11:25 box daemon.info dleyna-renderer-service[25310]: dLeyna: Exit
Comment 1 Debarshi Ray 2014-07-01 11:08:49 UTC
Can I please have a backtrace from GDB? Or the image that is causing it to crash?
Comment 2 j-frankish 2014-07-01 12:34:52 UTC
The crash happens with any image found by tracker.

I'm unable to get a backtrace using gdb - rather than gnome-photos displaying image thumbnails as when started normally, if start it with gdb, gnome-photos opens and displays the following:

Unable to fetch the list of photos
1.1105: syntax error, expected `}'
Comment 3 j-frankish 2014-07-02 11:33:37 UTC
I don't know if it would help, but here is the gdb backtrace from the original gnome-photos (with debugging symbols stripped out unfortunately).

$ G_DEBUG=fatal_warnings gdb --args gnome-photos
GNU gdb (GDB) 7.5.1
...
Reading symbols from /usr/local/bin/gnome-photos...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/local/bin/gnome-photos 
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff75d9e2d in gegl_node_get_bounding_box () from /usr/local/lib/libgegl-0.3.so.0
(gdb) bt
  • #0 gegl_node_get_bounding_box
    from /usr/local/lib/libgegl-0.3.so.0
  • #1 ??
  • #2 ??
  • #3 photos_preview_view_set_node
  • #4 ??
  • #5 g_simple_async_result_complete
    from /usr/local/lib/libgio-2.0.so.0
  • #6 ??
    from /usr/local/lib/libgio-2.0.so.0
  • #7 g_main_context_dispatch
    from /usr/local/lib/libglib-2.0.so.0
  • #8 ??
    from /usr/local/lib/libglib-2.0.so.0
  • #9 g_main_context_iteration
    from /usr/local/lib/libglib-2.0.so.0
  • #10 g_application_run
    from /usr/local/lib/libgio-2.0.so.0
  • #11 main
Continuing.
[LWP 28003 exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
Comment 4 j-frankish 2014-07-03 06:58:05 UTC
I recompiled gegl and gnome-photos with "-ggdb" and have managed to get the gdb backtrace.

It's not obvious which file gnome-photos thinks is missing?

$ G_DEBUG=fatal_warnings gdb --args gnome-photos
GNU gdb (GDB) 7.5.1
...
Program received signal SIGSEGV, Segmentation fault.
gegl_node_get_bounding_box (self=0x0) at gegl-node.c:1622
1622	gegl-node.c: No such file or directory.
(gdb) bt
  • #0 gegl_node_get_bounding_box
    at gegl-node.c line 1622
  • #1 update_autoscale
    at gegl-gtk-view-helper.c line 135
  • #2 view_helper_set_autoscale_policy
    at gegl-gtk-view-helper.c line 459
  • #3 gegl_gtk_view_set_autoscale_policy
    at gegl-gtk-view.c line 623
  • #4 photos_preview_view_scale_and_align_image
    at photos-preview-view.c line 86
  • #5 photos_preview_view_set_node
    at photos-preview-view.c line 265
  • #6 photos_embed_item_load
    at photos-embed.c line 160
  • #7 g_simple_async_result_complete
    from /usr/local/lib/libgio-2.0.so.0
  • #8 ??
    from /usr/local/lib/libgio-2.0.so.0
  • #9 g_main_context_dispatch
    from /usr/local/lib/libglib-2.0.so.0
  • #10 ??
    from /usr/local/lib/libglib-2.0.so.0
  • #11 g_main_context_iteration
    from /usr/local/lib/libglib-2.0.so.0
  • #12 g_application_run
    from /usr/local/lib/libgio-2.0.so.0
  • #13 main
    at photos-main.c line 50
Continuing.
[LWP 4006 exited]
[LWP 3992 exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
Comment 5 Debarshi Ray 2014-07-03 09:35:14 UTC
Do you see any messages from GEGL about missing decoders for your image? Which version of gegl is this? 0.2.0?
Comment 6 j-frankish 2014-07-03 10:00:36 UTC
No messages from gegl about missing decoders.

As mentioned above, gegl-0.3.0 (needed to compile the gtk3 version
of gimp)
Comment 7 Debarshi Ray 2014-07-03 11:18:06 UTC
(In reply to comment #6)

> As mentioned above, gegl-0.3.0 (needed to compile the gtk3 version
> of gimp)

Oh, yes. Sorry for not noticing it earlier. This is known. We need to make it work with gegl-0.3.
Comment 8 Pranav Kant 2014-07-07 18:06:08 UTC
Created attachment 280082 [details] [review]
Prevent a crash when compiled with gegl-0.3
Comment 9 j-frankish 2014-07-08 07:39:00 UTC
The patch fixed the problem - thanks.

BTW, the configure script needs to be adjusted so that it checks for and accepts both gegl-0.2*.pc and gegl-0.3*.pc files.
Comment 10 Debarshi Ray 2014-07-29 21:53:17 UTC
Review of attachment 280082 [details] [review]:

Thanks for the patch, Pranav.

::: src/photos-preview-view.c
@@ +278,2 @@
   priv->node = g_object_ref (node);
+  gegl_gtk_view_set_node (GEGL_GTK_VIEW (priv->view), priv->node);

Doesn't look correct to drop the g_object_ref
Comment 11 Pranav Kant 2015-01-03 16:02:28 UTC
Created attachment 293642 [details] [review]
Make photos work with gegl-0.3

It prevents the application crash when compiled with gegl-0.3
Comment 12 Pranav Kant 2015-01-05 18:30:08 UTC
Review of attachment 293642 [details] [review]:

Well, I noticed this patch "used" to cure the crash initially but with gegl-master it still crashes the application atleast in my case.
Comment 13 Pranav Kant 2015-01-06 20:00:51 UTC
I have been playing around with this. I created gegl, babl master rpm packages for fedora 21. I am attaching the rpm packages here if anyone working on this needs them.
Comment 14 Debarshi Ray 2015-01-06 20:05:34 UTC
(In reply to comment #13)
> I have been playing around with this. I created gegl, babl master rpm packages
> for fedora 21. I am attaching the rpm packages here if anyone working on this
> needs them.

We don't need the RPM packages now. We will only need them if we decide to bump our gegl requirement to 0.3.

For the time being people can just compile gegl from Git to try things out.
Comment 15 Debarshi Ray 2015-01-23 07:50:27 UTC
Created attachment 295255 [details] [review]
gegl-gtk-view-helper: Fix crash when setting autoscale without a node
Comment 16 Debarshi Ray 2015-01-23 07:50:57 UTC
Created attachment 295256 [details] [review]
preview-view: Guard against NULL node
Comment 17 Debarshi Ray 2015-01-23 07:54:09 UTC
You still need to edit configure.ac to build against gegl-0.3. In the very short term future, we will either just move to gegl-0.3, or support both 0.2 and 0.3. It depends on whether we can start shipping gegl-0.3 snapshots in distributions and whether we start depending on features that are only present in 0.3.