[Pkg-shotwell-maint] Bug#728519: shotwell: Crashes if unplug camera usb cable
Kan-Ru Chen (=?UTF-8?Q?=E9=99=B3=E4=BE=83=E5=A6=82?=)
koster at debian.org
Sat Nov 2 10:36:25 UTC 2013
Package: shotwell
Version: 0.15.0-1
Severity: normal
Tags: upstream
I have a camera that uses the PTP protocol through USB to expose the
photos. But after I imported the photos and unplug the camera,
shotwell crashed. I'm not sure if this is a problem in shotwell,
libgphoto2 or libusb so I tentatively report it here. Following are
backtraces get from gdb:
Program received signal SIGSEGV, Segmentation fault.
libusb_get_device_descriptor (dev=0x0, desc=0x7fffffff8cd0) at ../../libusb/descriptor.c:555
555 ../../libusb/descriptor.c: No such file or directory.
(gdb) bt
#0 libusb_get_device_descriptor (dev=0x0, desc=0x7fffffff8cd0) at ../../libusb/descriptor.c:555
#1 0x00007fffc82f86f1 in ?? () from /usr/lib/x86_64-linux-gnu/libgphoto2_port/0.8.0/usb1.so
#2 0x00007ffff64b3f07 in gp_port_usb_find_device_by_class () from /usr/lib/x86_64-linux-gnu/libgphoto2_port.so.0
#3 0x00007ffff66bfcb9 in gp_abilities_list_detect () from /usr/lib/x86_64-linux-gnu/libgphoto2.so.2
#4 0x000000000054328f in camera_table_update_camera_table (self=self at entry=0x16a2f70, error=error at entry=0x7fffffffdba8)
at src/camera/CameraTable.c:1450
#5 0x0000000000546b00 in camera_table_on_update_cameras (self=<optimized out>) at src/camera/CameraTable.c:2556
#6 _camera_table_on_update_cameras_one_shot_callback (self=<optimized out>) at src/camera/CameraTable.c:452
#7 0x0000000000478b5a in one_shot_scheduler_callback_wrapper (self=0x14e51c0) at src/util/misc.c:1611
#8 _one_shot_scheduler_callback_wrapper_gsource_func (self=0x14e51c0) at src/util/misc.c:1526
#9 0x00007ffff02eda03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff02ecea6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff02ed1f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff02ed29c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff0a8c6e4 in g_application_run () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#14 0x000000000068d115 in application_start (self=self at entry=0xa54080, argv=argv at entry=0x0, argv_length1=argv_length1 at entry=0)
at src/Application.c:528
#15 0x0000000000581e6a in library_exec (mounts=mounts at entry=0xa3dad0, mounts_length1=mounts_length1 at entry=0) at src/main.c:1309
#16 0x0000000000582d49 in _vala_main (args=args at entry=0x7fffffffdfd8, args_length1=args_length1 at entry=1) at src/main.c:1981
#17 0x00000000004745da in main (argc=1, argv=0x7fffffffdfd8) at src/main.c:2059
And logs from libusb after I unplug the camera:
libusbx: debug [linux_get_device_address] getting address for device: 3-1.2 detached: 1
libusbx: debug [udev_hotplug_event] udev hotplug event. action: remove.
libusbx: debug [libusb_init] reusing default context
libusbx: debug [libusb_get_device_list]
libusbx: debug [libusb_get_device_descriptor]
libusbx: debug [libusb_get_device_descriptor]
libusbx: debug [libusb_get_device_descriptor]
libusbx: debug [libusb_get_device_descriptor]
libusbx: debug [libusb_get_device_descriptor]
libusbx: debug [libusb_get_device_descriptor]
libusbx: debug [libusb_get_device_descriptor]
libusbx: debug [libusb_get_config_descriptor] index 0
libusbx: debug [libusb_exit]
libusbx: debug [libusb_exit] not destroying default context
libusbx: debug [libusb_init] libusbx v1.0.17.10830
libusbx: debug [find_usbfs_path] found usbfs at /dev/bus/usb
libusbx: debug [op_init] bulk continuation flag supported
libusbx: debug [op_init] zero length packet flag supported
libusbx: debug [op_init] sysfs can relate devices
libusbx: debug [op_init] sysfs has complete descriptors
libusbx: debug [linux_get_device_address] getting address for device: usb3 detached: 0
libusbx: debug [linux_get_device_address] scan usb3
libusbx: debug [linux_get_device_address] bus=3 dev=1
libusbx: debug [linux_enumerate_device] busnum 3 devaddr 1 session_id 769
libusbx: debug [linux_enumerate_device] allocating new device for 3/1 (session 769)
libusbx: debug [linux_get_device_address] getting address for device: 3-1 detached: 0
libusbx: debug [linux_get_device_address] scan 3-1
libusbx: debug [linux_get_device_address] bus=3 dev=2
libusbx: debug [linux_enumerate_device] busnum 3 devaddr 2 session_id 770
libusbx: debug [linux_enumerate_device] allocating new device for 3/2 (session 770)
libusbx: debug [linux_get_parent_info] Dev 0x2daecf0 (3-1) has parent 0x1b87650 (usb3) port 1
libusbx: debug [linux_get_device_address] getting address for device: 3-1.4 detached: 0
libusbx: debug [linux_get_device_address] scan 3-1.4
libusbx: debug [linux_get_device_address] bus=3 dev=4
libusbx: debug [linux_enumerate_device] busnum 3 devaddr 4 session_id 772
libusbx: debug [linux_enumerate_device] allocating new device for 3/4 (session 772)
libusbx: debug [linux_get_parent_info] Dev 0x1bde080 (3-1.4) has parent 0x2daecf0 (3-1) port 4
libusbx: debug [linux_get_device_address] getting address for device: usb1 detached: 0
libusbx: debug [linux_get_device_address] scan usb1
libusbx: debug [linux_get_device_address] bus=1 dev=1
libusbx: debug [linux_enumerate_device] busnum 1 devaddr 1 session_id 257
libusbx: debug [linux_enumerate_device] allocating new device for 1/1 (session 257)
libusbx: debug [linux_get_device_address] getting address for device: usb2 detached: 0
libusbx: debug [linux_get_device_address] scan usb2
libusbx: debug [linux_get_device_address] bus=2 dev=1
libusbx: debug [linux_enumerate_device] busnum 2 devaddr 1 session_id 513
libusbx: debug [linux_enumerate_device] allocating new device for 2/1 (session 513)
libusbx: debug [linux_get_device_address] getting address for device: usb4 detached: 0
libusbx: debug [linux_get_device_address] scan usb4
libusbx: debug [linux_get_device_address] bus=4 dev=1
libusbx: debug [linux_enumerate_device] busnum 4 devaddr 1 session_id 1025
libusbx: debug [linux_enumerate_device] allocating new device for 4/1 (session 1025)
libusbx: debug [linux_get_device_address] getting address for device: 4-1 detached: 0
libusbx: debug [linux_get_device_address] scan 4-1
libusbx: debug [linux_get_device_address] bus=4 dev=2
libusbx: debug [linux_enumerate_device] busnum 4 devaddr 2 session_id 1026
libusbx: debug [linux_enumerate_device] allocating new device for 4/2 (session 1026)
libusbx: debug [linux_get_parent_info] Dev 0x1b4ca10 (4-1) has parent 0x1bde120 (usb4) port 1
libusbx: debug [usbi_add_pollfd] add fd 37 events 1
libusbx: debug [usbi_add_pollfd] add fd 39 events 1
libusbx: debug [usbi_io_init] using timerfd for timeouts
libusbx: debug [usbi_add_pollfd] add fd 41 events 1
libusbx: debug [libusb_get_device_descriptor]
libusbx: debug [libusb_get_config_descriptor] index 0
libusbx: debug [libusb_exit]
libusbx: debug [libusb_unref_device] destroy device 4.2
libusbx: debug [libusb_unref_device] destroy device 4.1
libusbx: debug [libusb_unref_device] destroy device 2.1
libusbx: debug [libusb_unref_device] destroy device 1.1
libusbx: debug [libusb_unref_device] destroy device 3.4
libusbx: debug [libusb_unref_device] destroy device 3.2
libusbx: debug [libusb_unref_device] destroy device 3.1
libusbx: debug [usbi_remove_pollfd] remove fd 37
libusbx: debug [usbi_remove_pollfd] remove fd 39
libusbx: debug [usbi_remove_pollfd] remove fd 41
libusbx: debug [libusb_init] libusbx v1.0.17.10830
libusbx: debug [find_usbfs_path] found usbfs at /dev/bus/usb
libusbx: debug [op_init] bulk continuation flag supported
libusbx: debug [op_init] zero length packet flag supported
libusbx: debug [op_init] sysfs can relate devices
libusbx: debug [op_init] sysfs has complete descriptors
libusbx: debug [linux_get_device_address] getting address for device: usb3 detached: 0
libusbx: debug [linux_get_device_address] scan usb3
libusbx: debug [linux_get_device_address] bus=3 dev=1
libusbx: debug [linux_enumerate_device] busnum 3 devaddr 1 session_id 769
libusbx: debug [linux_enumerate_device] allocating new device for 3/1 (session 769)
libusbx: debug [linux_get_device_address] getting address for device: 3-1 detached: 0
libusbx: debug [linux_get_device_address] scan 3-1
libusbx: debug [linux_get_device_address] bus=3 dev=2
libusbx: debug [linux_enumerate_device] busnum 3 devaddr 2 session_id 770
libusbx: debug [linux_enumerate_device] allocating new device for 3/2 (session 770)
libusbx: debug [linux_get_parent_info] Dev 0x1b4cab0 (3-1) has parent 0x1b4ca10 (usb3) port 1
libusbx: debug [linux_get_device_address] getting address for device: 3-1.4 detached: 0
libusbx: debug [linux_get_device_address] scan 3-1.4
libusbx: debug [linux_get_device_address] bus=3 dev=4
libusbx: debug [linux_enumerate_device] busnum 3 devaddr 4 session_id 772
libusbx: debug [linux_enumerate_device] allocating new device for 3/4 (session 772)
libusbx: debug [linux_get_parent_info] Dev 0x2daecf0 (3-1.4) has parent 0x1b4cab0 (3-1) port 4
libusbx: debug [linux_get_device_address] getting address for device: usb1 detached: 0
libusbx: debug [linux_get_device_address] scan usb1
libusbx: debug [linux_get_device_address] bus=1 dev=1
libusbx: debug [linux_enumerate_device] busnum 1 devaddr 1 session_id 257
libusbx: debug [linux_enumerate_device] allocating new device for 1/1 (session 257)
libusbx: debug [linux_get_device_address] getting address for device: usb2 detached: 0
libusbx: debug [linux_get_device_address] scan usb2
libusbx: debug [linux_get_device_address] bus=2 dev=1
libusbx: debug [linux_enumerate_device] busnum 2 devaddr 1 session_id 513
libusbx: debug [linux_enumerate_device] allocating new device for 2/1 (session 513)
libusbx: debug [linux_get_device_address] getting address for device: usb4 detached: 0
libusbx: debug [linux_get_device_address] scan usb4
libusbx: debug [linux_get_device_address] bus=4 dev=1
libusbx: debug [linux_enumerate_device] busnum 4 devaddr 1 session_id 1025
libusbx: debug [linux_enumerate_device] allocating new device for 4/1 (session 1025)
libusbx: debug [linux_get_device_address] getting address for device: 4-1 detached: 0
libusbx: debug [linux_get_device_address] scan 4-1
libusbx: debug [linux_get_device_address] bus=4 dev=2
libusbx: debug [linux_enumerate_device] busnum 4 devaddr 2 session_id 1026
libusbx: debug [linux_enumerate_device] allocating new device for 4/2 (session 1026)
libusbx: debug [linux_get_parent_info] Dev 0x1bde080 (4-1) has parent 0x1bdff20 (usb4) port 1
libusbx: debug [usbi_add_pollfd] add fd 37 events 1
libusbx: debug [usbi_add_pollfd] add fd 39 events 1
libusbx: debug [usbi_io_init] using timerfd for timeouts
libusbx: debug [usbi_add_pollfd] add fd 41 events 1
libusbx: debug [libusb_get_device_descriptor]
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.11.0 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages shotwell depends on:
ii dbus-x11 1.6.18-1
ii libatk1.0-0 2.10.0-2
ii libc6 2.17-93
ii libcairo-gobject2 1.12.16-2
ii libcairo2 1.12.16-2
ii libexif12 0.6.21-1
ii libexiv2-12 0.23-1
ii libgdk-pixbuf2.0-0 2.28.2-1
ii libgee-0.8-2 0.10.5-1
ii libgexiv2-2 0.6.1-2
ii libglib2.0-0 2.36.4-1
ii libgomp1 4.8.2-1
ii libgphoto2-2 2.4.14-2.3
ii libgphoto2-port0 2.4.14-2.3
ii libgstreamer-plugins-base1.0-0 1.2.0-1
ii libgstreamer1.0-0 1.2.0-1
ii libgtk-3-0 3.8.6-1
ii libgudev-1.0-0 204-5
ii libjavascriptcoregtk-3.0-0 2.2.1-2
ii libjson-glib-1.0-0 0.16.2-1
ii liblcms2-2 2.2+git20110628-2.3
ii libpango-1.0-0 1.36.0-1
ii libpangocairo-1.0-0 1.36.0-1
ii libraw9 0.15.4-1
ii librest-0.7-0 0.7.90-1
ii librsvg2-common 2.40.0-1
ii libsoup2.4-1 2.44.1-1
ii libsqlite3-0 3.8.1-1
ii libstdc++6 4.8.2-1
ii libwebkitgtk-3.0-0 2.2.1-2
ii libx11-6 2:1.6.2-1
ii libxml2 2.9.1+dfsg1-3
ii shotwell-common 0.15.0-1
shotwell recommends no packages.
shotwell suggests no packages.
-- no debconf information
More information about the Pkg-shotwell-maint
mailing list