GNOME Bugzilla – Bug 781802
Ubuntu import autopkgtest fails with 0.26.1
Last modified: 2017-10-13 09:18:24 UTC
Good news: I uploaded shotwell 0.26.1 to Ubuntu 17.10 Alpha "Artful". Bad news: Ubuntu's autopkgtest fails with the new version but passes with the old Ubuntu version 0.22.0+git20160108.r1.f2fb1f7-0ubuntu3. I even rebuilt the old version on current Ubuntu 17.10 and the tests still passed with the old version. Build log (click amd64): https://launchpad.net/ubuntu/+source/shotwell/0.26.1-0ubuntu1 Autopkgtest test log: https://autopkgtest.ubuntu.com/packages/s/shotwell Test Case ========= Install umockdev Download the two files I will try to attach to this bug. From a clean user account and from the same directory that contains those files, run umockdev-run -d powershot.umockdev -i dev/bus/usb/001/011= powershot-import.ioctl -- shotwell Click Ok on the Welcome Dialog. Click the Camera. Then click Import All. What Should Happen ------------------- A dialog should have the title "Import Complete" and message "2 photos successfully imported" What Happens ------------ A dialog shows with the title "Import Complete" and message "2 files failed to import due to a camera error: IMG_0001.JPG IMG_0002.JPG" Content of Save Details: ------------------------ Import Results Report (Shotwell 0.26.1 @ 2017-04-26T20:37:50.570527Z) Attempted to import 2 files. Of these, 0 files were successfully imported. Photos/Videos Not Imported Due to Camera Errors: IMG_0001.JPG error message: [-107] Error retrieving file object for /DCIM/100CANON/IMG_0001.JPG: Unknown error IMG_0002.JPG error message: [-107] Error retrieving file object for /DCIM/100CANON/IMG_0002.JPG: Unknown error
Created attachment 350508 [details] powershot.umockdev
Created attachment 350509 [details] powershot-import.ioctl
I tested this with shotwell master@d03303ec059f086efb7773a04e0ada773dca0334 and 0.26.1 on Ubuntu 16.04 - works fine.
So, to recap: We figured out that this is caused by applying the iOS 8 work-around, the sequence of talking to the device has changed, thus most likely rendering the recording of umockdev incompatible. Since iOS marketshare is claimed to be < 2% by now, I wonder if that's still necessary?
Unless that issue is also persistent in later versions, of course
I talked briefly with Martin Pitt who suggested that the umockdev data be recorded again with the iOS patch applied. Are you interested in doing that? I don't have a camera except for my phone and my laptop's webcam.
I can update it for a FUJI X10.
For some reason, with the patched shotwell, I fail to record the camera. The ioctl file stays more or less empty.
Created attachment 353557 [details] [review] Dirty patch keeping ImportPage's "camera" object alive. FIXME: need commit message. (Please also double check the author and subject.) https://bugzilla.gnome.org/show_bug.cgi?id=742295
Comment on attachment 353557 [details] [review] Dirty patch keeping ImportPage's "camera" object alive. (In reply to Jens Georg from comment #8) > For some reason, with the patched shotwell, I fail to record the camera. The > ioctl file stays more or less empty. Issue seems that we have some reference count issues and ImportPage is never destroyed, the camera never closed and umockdev doesn't write anything. The patch I attached previously is useless, because it closes the Camera too early
Created attachment 353559 [details] [review] Dirty patch keeping ImportPage's "camera" object alive. FIXME: need commit message. (Please also double check the author and subject.) https://bugzilla.gnome.org/show_bug.cgi?id=742295
Created attachment 353561 [details] Updated version of the testruner
Created attachment 353562 [details] Updated version of the testruner
Created attachment 353563 [details] umockdev import recording
Created attachment 353564 [details] fujix10.umockdev
So, to summarize, you need: - The updated patch attached here - The two new umockdev files for the Fuji X10 - The updated testrunner I have not checked the autopkgtest because my environment is a bit broken ATM, can you please check on your side?
Hi, those files didn't work. Do you want to try again?
The Ubuntu update is still blocked by that, is there any else that can be done to help fixing that issue?
(In reply to Sebastien Bacher from comment #18) > The Ubuntu update is still blocked by that, is there any else that can be > done to help fixing that issue? Someone with a PTP camera should do a new umockdev recording to use in the autopkgtest. Unfortunately I do not seem to be able to generate files from my Fuji X10 that work. umockdev always exists with an assert.
Shotwell 0.26.3 is in Ubuntu 17.10 Beta now. (I disabled the autopkgtest.) https://launchpad.net/ubuntu/+source/shotwell Since this isn't really an upstream Shotwell issue, you can close this bug if you want.
Seen that. I will do one more try with my "new" camera later, if that also fails, I will close it.
Nope no luck with the Dynax7d as well.
@Jens: Do you mean some crash like `submit_node == NULL`? I get the same with current libgphoto2, apparently the general URB structure can now be more flexible than a few years ago when I developed this. @Jeremy: This needs to be fixed/adjusted in umockdev before we can update the .ioctl file. This isn't trivial, so let's just keep that test disabled for now.
@Martin: It was an assert of some sort when replaying, I don't know the exact fail. I will be at all systems go, so I can show it to you "live"
Ah. All hail Matrix :D @phako:matrix.org 14:35pitti: ever seen usbdevfs_reapurb_execute: Assertion `submit_node == NULL' failed in umockdev?
@Jens: Yep, that's the one I meant.