Shotwell crashes after start

Bug #990947 reported by reto ambrosini
82
This bug affects 14 people
Affects Status Importance Assigned to Milestone
gst-plugins-bad0.10 (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Shotwell starts, I see all thumbnails and after a few seconds (time can vary) it closes. In the time it stays all seem to work. When I try to restart it from terminal after the crash it does not start but give the message "segmentation fault (core dump created)"

Revision history for this message
Adam Dingle (adam-yorba) wrote :

Reto, what version of Shotwell are you using? What version of Ubuntu are you running? Could you generate a stack trace and attach it to this ticket? See

http://redmine.yorba.org/projects/shotwell/wiki/ShotwellFAQ#I-found-a-bug-in-Shotwell-How-can-I-report-it

Changed in shotwell (Ubuntu):
status: New → Incomplete
importance: Undecided → High
Revision history for this message
reto ambrosini (reto-ambrosini) wrote :

I am using shotwell 0.12.2-0ubuntu2 and ubuntu 12.04
I genrated the stack trace, here the .gdb file.

Revision history for this message
reto ambrosini (reto-ambrosini) wrote :

And here the .log, let me know if you need some more information.
Thank you very much.

Revision history for this message
Sebastien Bacher (seb128) wrote :

the issue seems to be a gstreamer or libdca0 one

Changed in shotwell (Ubuntu):
status: Incomplete → New
affects: shotwell (Ubuntu) → libdca (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libdca (Ubuntu):
status: New → Confirmed
Revision history for this message
Adam Dingle (adam-yorba) wrote :

This has also been reported at

http://redmine.yorba.org/issues/5252

Revision history for this message
Adam Dingle (adam-yorba) wrote :

Reto: could you install the following packages, then generate another backtrace file (shotwell.gdb)? That might give us more information about what's wrong.

- libgstreamer0.10-0-dbg
- gstreamer0.10-plugins-base-dbg
- gstreamer0.10-plugins-bad-dbg

Revision history for this message
reto ambrosini (reto-ambrosini) wrote :

Hello!
I did as you said, here is shotwell.gdb

Revision history for this message
reto ambrosini (reto-ambrosini) wrote :

And here shotwell.log
Please let me know if you need something else.
Thank you very much for your work.

Revision history for this message
Dimo (lami4ka) wrote :
Download full text (3.8 KiB)

I also ran into this, and dug a little in the core file. This is the stack trace we see:

#0 0x00007f01ec5dc83b in dca_syncinfo () from /usr/lib/libdca.so.0
#1 0x00007f01ec80ab7b in gst_dtsdec_parse (bdec=0x7f01e804e320,
    adapter=<optimized out>, _offset=0x7f01ed20d9fc, len=0x7f01ed20d9f8)
    at gstdtsdec.c:297
#2 0x00007f01effdc0ec in gst_audio_decoder_push_buffers (dec=0x7f01e804e320,
    force=0) at gstaudiodecoder.c:988
#3 0x00007f01effdc5a0 in gst_audio_decoder_chain_forward (dec=0x7f01e804e320,
    buffer=0x0) at gstaudiodecoder.c:1141
#4 0x00007f01effdd35b in gst_audio_decoder_chain (pad=<optimized out>,
    buffer=0x1e869f0) at gstaudiodecoder.c:1389
#5 0x00007f01ec809c97 in gst_dtsdec_chain (pad=0x7f01e803c1c0, buf=0x1e7cee0)
    at gstdtsdec.c:715
#6 0x00007f01f673222a in gst_pad_chain_data_unchecked (cache=0x7f01ed20dc20,
    data=0x1e7cee0, is_buffer=1, pad=0x7f01e803c1c0) at gstpad.c:4271
#7 gst_pad_push_data (pad=<optimized out>, is_buffer=1, data=0x1e7cee0,
    cache=<optimized out>) at gstpad.c:4506
#8 0x00007f01f6735ae6 in gst_pad_push (pad=0x7f01e803c040, buffer=0x1e7cee0)
    at gstpad.c:4730
#9 0x00007f01f31f6536 in gst_single_queue_push_one (object=0x1e7cee0,
    sq=0x7f01e803eaf0, mq=0x7f01e803f050) at gstmultiqueue.c:1087
#10 gst_multi_queue_loop (pad=<optimized out>) at gstmultiqueue.c:1318
#11 0x00007f01f675bdcc in gst_task_func (task=0x1ed5610) at gsttask.c:327
#12 0x00007f01f5ff2248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007f01f5ff19e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007f01f5d6fe9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#15 0x00007f01f5a9a4bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#16 0x0000000000000000 in ?? ()

The faulting instruction is:

   0x00007f01ec5dc820 <+0>: mov %rbx,-0x20(%rsp)
   0x00007f01ec5dc825 <+5>: mov %rbp,-0x18(%rsp)
   0x00007f01ec5dc82a <+10>: mov %rdi,%rbx
   0x00007f01ec5dc82d <+13>: mov %r12,-0x10(%rsp)
   0x00007f01ec5dc832 <+18>: mov %r13,-0x8(%rsp)
   0x00007f01ec5dc837 <+23>: sub $0x38,%rsp
   0x00007f01ec5dc83b <+27>: movzbl (%rsi),%eax <<<---- This one

Where $rsi is not mapped. dca_syncinfo gets $rsi from gst_dtsdec_parse(). Looking at gst_dtsdec_parse(), $rsi comes from $r12, which when we map it (manually :() to the source code, corresponds to the variable data in gst_dtsdec_parse():

static GstFlowReturn
gst_dtsdec_parse (GstAudioDecoder * bdec, GstAdapter * adapter,
    gint * _offset, gint * len)
{
...
  guint8 *data;
...
  size = av = gst_adapter_available (adapter);
  data = (guint8 *) gst_adapter_peek (adapter, av);
...
  while (av >= 7) {
    length = dca_syncinfo (dts->state, data, &flags,
        &sample_rate, &bit_rate, &frame_length);

    if (length == 0) {
      /* shift window to re-find sync */
      data++;
      size--;
    } else if (length <= size) {
      GST_LOG_OBJECT (dts, "Sync: frame size %d", length);
      result = GST_FLOW_OK;
      break;
    } else {
      GST_LOG_OBJECT (dts, "Not enough data available (needed %d had %d)",
          length, size);
      break;
    }
  }
....

Note that the loop co...

Read more...

Revision history for this message
Jorge García (jorgegarciar) wrote :

Correct me if I'm wrong, but as far as I understand this error happens while importing videos from the collection.

Is there anyway of disable that (as a workaround)? Shotwell is completely useless like this and I am not interested at all in importing my videos in Shotwell, just pictures.

Thanks!

Revision history for this message
Dimo (lami4ka) wrote : Re: [Bug 990947] Re: Shotwell crashes after start

Hi jorge

I dont know of such a way, so i just moved the offending videos to another
folder

Dimo
On Sep 27, 2012 2:35 AM, "Jorge García" <email address hidden> wrote:

> Correct me if I'm wrong, but as far as I understand this error happens
> while importing videos from the collection.
>
> Is there anyway of disable that (as a workaround)? Shotwell is
> completely useless like this and I am not interested at all in importing
> my videos in Shotwell, just pictures.
>
> Thanks!
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/990947
>
> Title:
> Shotwell crashes after start
>
> Status in “libdca” package in Ubuntu:
> Confirmed
>
> Bug description:
> Shotwell starts, I see all thumbnails and after a few seconds (time
> can vary) it closes. In the time it stays all seem to work. When I try
> to restart it from terminal after the crash it does not start but give
> the message "segmentation fault (core dump created)"
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/libdca/+bug/990947/+subscriptions
>

Revision history for this message
audunpoi (audun-didgeridoo) wrote :

Sorry to see this have not been resolved. I have many hundred videos, and all were tagged in shotwell. I gave up waiting and moved to digikam. Sorry. Digikam is a bit too much though.

Revision history for this message
Dimo (lami4ka) wrote :

This might get resolved in 12.10 if they update libgstreamer to a version
that has that bug fixed.

~Dimo

2012/9/27 audunpoi <email address hidden>

> Sorry to see this have not been resolved. I have many hundred videos,
> and all were tagged in shotwell. I gave up waiting and moved to digikam.
> Sorry. Digikam is a bit too much though.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/990947
>
> Title:
> Shotwell crashes after start
>
> Status in “libdca” package in Ubuntu:
> Confirmed
>
> Bug description:
> Shotwell starts, I see all thumbnails and after a few seconds (time
> can vary) it closes. In the time it stays all seem to work. When I try
> to restart it from terminal after the crash it does not start but give
> the message "segmentation fault (core dump created)"
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/libdca/+bug/990947/+subscriptions
>

Revision history for this message
reto ambrosini (reto-ambrosini) wrote :

In the summer I had to switch to digikam too, I have lots of pictures and I was waiting for too long. Now I'm organising and tagging all my pictures in digikam, so I don't think I will go back to shotwell, or I have to redo this once more.
Digikam is a little bit big and need kde libraries, but works very good, is stable and offers more funcions than shotwell. In digikam I can geotag my pictures directly, without the need of an external software.

Reto

Revision history for this message
Jorge García (jorgegarciar) wrote :

Thanks for the alternatives to Shotwell. Anyway they don't help to fix this
bug :D.

2012/10/2 reto ambrosini <email address hidden>

> In the summer I had to switch to digikam too, I have lots of pictures and
> I was waiting for too long. Now I'm organising and tagging all my pictures
> in digikam, so I don't think I will go back to shotwell, or I have to redo
> this once more.
> Digikam is a little bit big and need kde libraries, but works very good,
> is stable and offers more funcions than shotwell. In digikam I can geotag
> my pictures directly, without the need of an external software.
>
> Reto
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/990947
>
> Title:
> Shotwell crashes after start
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/libdca/+bug/990947/+subscriptions
>

Revision history for this message
Marc Brevoort (kleinebre) wrote :

I'm having a crash issue as well. Running it through gdb I see shotwell crashes on an assertion.
Downloaded the 2014-10-31 source and built it, same issue persists.

In src/folders/Branch.vala there's an assert around line 114,

       assert(folder_entry.count > 0);

Comment it out like so

    // assert(folder_entry.count > 0);

and add a statement before it

        if (folder_entry.count==0) return;

this will prevent function "remove_entry" from trying to do anything if it can't and solved the crash for me (so hey, at least I can import photos again).

Revision history for this message
Sebastian Ramacher (s-ramacher) wrote :

This issue was apparently fixed in gstreamer a long time ago.

affects: libdca (Ubuntu) → gst-plugins-bad0.10 (Ubuntu)
Changed in gst-plugins-bad0.10 (Ubuntu):
status: Confirmed → 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.