maemo.org Bugzilla – Bug 12731
Camera-ui hangs while shooting a photo
Last modified: 2014-07-21 08:18:04 UTC
You need to
before you can comment on or make changes to this bug.
(Settings > General > About product)
CSSU Thumb 21.2011.38-1Tmaemo9.1+thumb0
EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g. message
Connection Failed appears))
1. Take a photo
2. The capturing preview (not the actual photo's preview) remains
EXPECTED OUTCOME: The photo should be taken and shown
ACTUAL OUTCOME: The photo isn't taken, camera-ui hangs and cannot be closed
normally (has to be killed), the capture preview remains frozen
between 1/10 and 2/10
EXTRA SOFTWARE INSTALLED: cl-launcher, flashlight, decoders-support, 720p
OTHER COMMENTS: How in world can I obtain a camera-ui log?
Found the way how to increase reproducibility. This problems happens especially
when there are more apps open. E.g. my testing case was: mstardict with a
couple of big (>4MB while compressed) dictionaries, gtranslate, a web page
open. With similar conditions, the third photo failed.
I just took 10 pictures in a row, while microb was loading FB background and
gtranslate was opened. All pictures were taken just fine and appeared in the
gallery. CSSU and camera-ui are the same versions as yours, swap is on uSD,
device uptime is ~ 4 days.
Could you try to install latest libc6 from cssu-thumb repo by hand and see if
you still can reproduce the issue?
libc6 is 2.5.1-1eglibc27+0m5+cssu2.1
* Easy Debian Fremantle beta testing in MicroB
* Modest with Inbox with many (>100) e-mails
* Web window
* Open Media Player with ~ 80 tracks in the queue
* mstardict with ~ 15 dictionaries loaded, one entry open
5th photo failed. If minimized, a part of the photo is shown. The screenshot,
though, shows a black window. camera-ui uses 5.9% RAM and 0.0% CPU (according
to top) while hanging. The 5th photo was NOT saved.
camera-ui is 18.104.22.168+0cssu17+thumb0
720p playback, cl-launcher, flashlight apps are NOT installed. Swap on uSD set
up by swapset. Flopswap NOT used. Of the bg processes: psswitcher,
advanced-clock-plugin, advanced-power, 3g2g & simple-brightness applets in the
status menu. Swappolube tweaked settings. Catoriseplus. Kernel power v52,
profile dsp @ 805 MHz. BusyBox Power. All updates from extras-devel &
cssu-thumb installed. OMP is thumb, from gidzzz's repo. Uptime is 19:43. Saving
to uSD (maybe this is the cause?).
How to obtain the log? This might give a clue.
Is there anything suspicious in syslog/dmesg? could you attach those here?
Also, you may want to install -dbg symbols for relevant packages (camera-ui,
libc6, libglib, etc...), gdb from extras-devel (it is newer than the one in SDK
and groks thumb-compiled binaries), attach gdb to camera-ui and get a backtrace
when it is hanged.
Well, it doesn't work:
Starting program: /usr/bin/camera-ui
<spitting out libthread_db stuff>
method return sender=:1.222 -> dest=:1.220 reply_serial=2
method return sender=:1.47 -> dest=:1.224 reply_serial=2
sh: write error: Invalid argument
sh: write error: Invalid argument
Or is does camera-ui have to be debugged in another way?
Yes, you should attach gdb to a running camera-ui. gdb command is "attach $PID"
Attached gdb to camera-ui
Loaded symbols for /usr/lib/libiptcdata.so.0
0x4018b798 in poll () from /lib/libc.so.6
#0 0x4018b798 in poll () from /lib/libc.so.6
#1 0x402e0376 in g_main_context_poll (n_fds=8, fds=0x24e248,
timeout=<optimized out>, context=0x99230, priority=<optimized out>)
#2 g_main_context_iterate (context=0x99230, block=<optimized out>,
dispatch=1, self=Unhandled dwarf expression opcode 0xfa
#3 0x402e08d0 in IA__g_main_loop_run (loop=0x24e2f0)
#4 0x404b7c06 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#5 0x413af8dc in main () from /usr/bin/camera-ui.launch
#6 0x0000a400 in _start ()
[Thread 0x4310d490 (LWP 3286) exited]
[Thread 0x4356c490 (LWP 3284) exited]
[Thread 0x439c4490 (LWP 3287) exited]
[New Thread 0x439c4490 (LWP 3293)]
[New Thread 0x4356c490 (LWP 3294)]
[New Thread 0x4310d490 (LWP 3295)]
[Thread 0x439c4490 (LWP 3293) exited]
[New Thread 0x439c4490 (LWP 3296)]
[Thread 0x4356c490 (LWP 3294) exited]
[New Thread 0x4356c490 (LWP 3297)]
[New Thread 0x44f84490 (LWP 3298)]
[New Thread 0x452ff490 (LWP 3299)]
[Thread 0x44f84490 (LWP 3298) exited]
[Thread 0x452ff490 (LWP 3299) exited]
[Thread 0x439c4490 (LWP 3296) exited]
[New Thread 0x439c4490 (LWP 3302)]
[Thread 0x4310d490 (LWP 3295) exited]
[New Thread 0x4310d490 (LWP 3303)]
At this point camera-ui hung. No log outputs, warnings, errors, only gdb
talking about threads.
Are you sure you did install gdb from extras-devel. As this "self=Unhandled
dwarf expression opcode 0xfa" makes me think you did not. gdb version must be
3.7.1 for you to be able to debug gcc4.7.2-compiled binaries:
Anyway, after you attach to camera-ui and c(ontinue), you should break(ctrl-c)
into debugger *after* camera-ui has hung. Also, I will need the result of "info
threads" command. That way we will have the backtrace of the hung function.
Furthermore, you can switch to all of the threads(thread n) and get backtraces.
BTW I still don't see your syslog/dmesg log attached.
Yes, it's 7.3.1-debian
I'll do the rest soon.
Created an attachment (id=3483) [details]
Output of `dmesg > ~/dmesg.log`
Created an attachment (id=3484) [details]
Syslog isn't present in /var/log on N900
$ ls /var/log
What's interesting, I did two photos very quickly and the second failed. (I
even half-pressed the shutter to dismiss the preview)
One more important thing: There's nothing on device from the meecolay repo.