Bug 487824 - Error "I/O busy" ("E/S en cours" in French) the second time a Kamera is tested with systemsettings
Summary: Error "I/O busy" ("E/S en cours" in French) the second time a Kamera is teste...
Status: RESOLVED FIXED
Alias: None
Product: Kamera
Classification: Applications
Component: General (show other bugs)
Version: 24.02.2
Platform: openSUSE Linux
: NOR major
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-31 07:28 UTC by Pascal COMBES
Modified: 2025-01-14 21:28 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pascal COMBES 2024-05-31 07:28:04 UTC
SUMMARY
At first the camera is accessible without any issue and all the buttons in kcm_kamera work. But, if I close systemsettings and open it again, I get error "I/O busy" ("E/S en cours" in French). I need to restart the physical camera so that I can access it again.

STEPS TO REPRODUCE
1. Switch camera on
2. Open kcm_kamera in systemsettings 
3. Test camera 
4. Close systemsettings
5. Open kcm_kamera in systemsettings 
6. Test camera

OBSERVED RESULT
At step 3. test works, but at step 6., it does not and we get error "I/O busy" ("E/S en cours" in French)

EXPECTED RESULT
Test should work everytime

SOFTWARE/OS VERSIONS
Distribution: openSUSE Tumbleweed 20240517
Linux: 6.8.9-1-default (64-bit)
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.0
gPhoto: 2.5.28

ADDITIONAL INFORMATION
Camera: Nikon Coolpix S5100
Comment 1 Bug Janitor Service 2024-05-31 09:11:23 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/kamera/-/merge_requests/18
Comment 2 Albert Astals Cid 2025-01-14 21:28:55 UTC
Git commit 267831e39c65cf7eb20bf12a78277cea6cf000ec by Albert Astals Cid, on behalf of Pascal COMBES.
Committed on 14/01/2025 at 21:28.
Pushed by aacid into branch 'master'.

Stop Kamera KCM holding the camera device

Kamera did not properly close and delete the camera devices abstractions

However, the camera device will be held by Kamera KCM as long as it is running and other applications cannot access the camera device while Kamera KCM is open. We could call `gp_camera_exit` after every operation, but then camera access takes some time (~ 10s) for every operation (not only the first one).

M  +1    -0    kcontrol/kamera.cpp
M  +17   -13   kcontrol/kameradevice.cpp
M  +0    -1    kcontrol/kameradevice.h

https://invent.kde.org/graphics/kamera/-/commit/267831e39c65cf7eb20bf12a78277cea6cf000ec