Summary: | Digital Camera crashed when clicking on Configure. | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Josef <lists> |
Component: | kcm_kamera | Assignee: | Marcus Meissner <marcus> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | alainthiaville59, apiotrowski71, carvalhoaa, charpentier.franck, Craig.Magina, klaus.henneberg, rex.luporum, sir_kalot, wuseldusel |
Priority: | NOR | ||
Version First Reported In: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
patch to handle unset variables |
Description
Josef
2010-07-16 21:08:26 UTC
*** Bug 245578 has been marked as a duplicate of this bug. *** *** Bug 250877 has been marked as a duplicate of this bug. *** *** Bug 257553 has been marked as a duplicate of this bug. *** *** Bug 273396 has been marked as a duplicate of this bug. *** *** Bug 283726 has been marked as a duplicate of this bug. *** *** Bug 285829 has been marked as a duplicate of this bug. *** *** Bug 287728 has been marked as a duplicate of this bug. *** Created attachment 73164 [details]
New crash information added by DrKonqi
systemsettings (1.0) on KDE Platform 4.8.4 (4.8.4) using Qt 4.8.1
- What I was doing when the application crashed:
- Custom settings of the application:
i pluged my Canon EOS 550D then I opened configuration settings and appareil photo. I tested it with the bottom test. I clicked on configurer and then crached. At every time that i have make this actions
-- Backtrace (Reduced):
#6 __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:163
#7 0x00007f7d63ca630d in KameraConfigDialog::appendWidget (this=0x7fff1c8dd010, parent=0x1ab8570, widget=0x1e78710) at ../../kcontrol/kameraconfigdialog.cpp:192
#8 0x00007f7d63ca5adc in KameraConfigDialog::appendWidget (this=0x7fff1c8dd010, parent=<optimized out>, widget=0x1e47dd0) at ../../kcontrol/kameraconfigdialog.cpp:251
#9 0x00007f7d63ca5adc in KameraConfigDialog::appendWidget (this=0x7fff1c8dd010, parent=<optimized out>, widget=0x1e57de0) at ../../kcontrol/kameraconfigdialog.cpp:251
#10 0x00007f7d63ca67c3 in KameraConfigDialog::KameraConfigDialog (this=0x7fff1c8dd010, widget=0x1e57de0, parent=<optimized out>, name=<optimized out>) at ../../kcontrol/kameraconfigdialog.cpp:64
W dniu 2012-08-14 12:19, charpentier Franck pisze: > https://bugs.kde.org/show_bug.cgi?id=244891 > > --- Comment #8 from charpentier Franck <charpentier.franck@gmail.com> --- > Created attachment 73164 [details] > --> https://bugs.kde.org/attachment.cgi?id=73164&action=edit > New crash information added by DrKonqi > > systemsettings (1.0) on KDE Platform 4.8.4 (4.8.4) using Qt 4.8.1 > > - What I was doing when the application crashed: > > - Custom settings of the application: > > i pluged my Canon EOS 550D then I opened configuration settings and appareil > photo. I tested it with the bottom test. I clicked on configurer and then > crached. At every time that i have make this actions > > -- Backtrace (Reduced): > #6 __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:163 > #7 0x00007f7d63ca630d in KameraConfigDialog::appendWidget > (this=0x7fff1c8dd010, parent=0x1ab8570, widget=0x1e78710) at > ../../kcontrol/kameraconfigdialog.cpp:192 > #8 0x00007f7d63ca5adc in KameraConfigDialog::appendWidget > (this=0x7fff1c8dd010, parent=<optimized out>, widget=0x1e47dd0) at > ../../kcontrol/kameraconfigdialog.cpp:251 > #9 0x00007f7d63ca5adc in KameraConfigDialog::appendWidget > (this=0x7fff1c8dd010, parent=<optimized out>, widget=0x1e57de0) at > ../../kcontrol/kameraconfigdialog.cpp:251 > #10 0x00007f7d63ca67c3 in KameraConfigDialog::KameraConfigDialog > (this=0x7fff1c8dd010, widget=0x1e57de0, parent=<optimized out>, name=<optimized > out>) at ../../kcontrol/kameraconfigdialog.cpp:64 > ? *** Bug 322007 has been marked as a duplicate of this bug. *** Weird, as it does not reproduce for me :/ if anyone could output the values at that crash site it would be nice gdb kcmshell4 (gdb) r kamera ... reproduce crash ... go to the frame wiht ../../kcontrol/kameraconfigdialog.cpp:192 and then (gdb) info locals (gdb) print widget_value_string (gdb) print widget_choice I need to see why if(!strcmp(widget_value_string, widget_choice)) crashes :/ Hello, here-after the gdb report. It shows that widget_value_string[0] = 0 Have a nice day Alain GDB report: Reading symbols from /usr/bin/kcmshell4...Reading symbols from /usr/lib/debug/usr/bin/kcmshell4.debug...done. done. (gdb) r kamera Starting program: /usr/bin/kcmshell4 kamera [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. __strcmp_sse2 () at ../sysdeps/x86_64/strcmp.S:212 212 movlpd (%rdi), %xmm1 Missing separate debuginfos, use: debuginfo-install expat-2.1.0-4.fc18.x86_64 ibus-qt-1.3.2-2.fc18.x86_64 jbigkit-libs-2.0-7.fc18.x86_64 kde-workspace-libs-4.10.4-5.fc18.x86_64 keyutils-libs-1.5.5-3.fc18.x86_64 lcms-libs-1.19-7.fc18.x86_64 libXdmcp-1.1.1-2.fc18.x86_64 libffi-3.0.10-3.fc18.x86_64 libicu-49.1.1-8.fc18.x86_64 libselinux-2.1.12-7.3.fc18.x86_64 libtool-ltdl-2.4.2-7.fc18.x86_64 libuuid-2.22.2-6.fc18.x86_64 libxcb-1.9-3.fc18.x86_64 (gdb) backtrace #0 __strcmp_sse2 () at ../sysdeps/x86_64/strcmp.S:212 #1 0x00007fffed54b977 in KameraConfigDialog::appendWidget (this=this@entry=0x7fffffffc330, parent=parent@entry=0x8914f0, widget=0xb380b0) at /usr/src/debug/kamera-4.10.4/kcontrol/kameraconfigdialog.cpp:185 #2 0x00007fffed54b284 in KameraConfigDialog::appendWidget (this=this@entry=0x7fffffffc330, parent=parent@entry=0xadc610, widget=0xb373d0) at /usr/src/debug/kamera-4.10.4/kcontrol/kameraconfigdialog.cpp:244 #3 0x00007fffed54b284 in KameraConfigDialog::appendWidget (this=this@entry=0x7fffffffc330, parent=parent@entry=0xadc610, widget=widget@entry=0xae5950) at /usr/src/debug/kamera-4.10.4/kcontrol/kameraconfigdialog.cpp:244 #4 0x00007fffed54be92 in KameraConfigDialog::KameraConfigDialog (this=0x7fffffffc330, widget=0xae5950, parent=<optimized out>) at /usr/src/debug/kamera-4.10.4/kcontrol/kameraconfigdialog.cpp:62 #5 0x00007fffed548a0a in KCamera::configure (this=0xbb7bc0) at /usr/src/debug/kamera-4.10.4/kcontrol/kameradevice.cpp:173 #6 0x00007fffed546689 in KKameraConfig::slot_configureCamera (this=0x7b12f0) at /usr/src/debug/kamera-4.10.4/kcontrol/kamera.cpp:362 #7 0x00000032e5b8cd6f in QMetaObject::activate (sender=0x7bb960, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffffffc590) at kernel/qobject.cpp:3539 #8 0x0000003883fc4412 in QAction::triggered (this=this@entry=0x7bb960, _t1=false) at .moc/release-shared/moc_qaction.cpp:276 #9 0x0000003883fc4600 in QAction::activate (this=0x7bb960, event=<optimized out>) at kernel/qaction.cpp:1257 #10 0x000000388438424f in QAbstractButtonPrivate::click (this=this@entry=0x7bbfd0) at widgets/qabstractbutton.cpp:530 #11 0x00000038843844fc in QAbstractButton::mouseReleaseEvent (this=0x968cc0, e=0x7fffffffce40) at widgets/qabstractbutton.cpp:1123 #12 0x000000388443e78a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:718 #13 0x0000003884019f49 in QWidget::event (this=0x968cc0, event=0x7fffffffce40) at kernel/qwidget.cpp:8375 #14 0x0000003883fca5cc in QApplicationPrivate::notify_helper (this=0x63cda0, receiver=0x968cc0, e=0x7fffffffce40) at kernel/qapplication.cpp:4562 #15 0x0000003883fcf2ab in QApplication::notify (this=<optimized out>, receiver=0x968cc0, e=0x7fffffffce40) at kernel/qapplication.cpp:4105 #16 0x0000003f88a46f16 in KApplication::notify (this=0x7fffffffdc50, receiver=0x968cc0, event=0x7fffffffce40) at /usr/src/debug/kdelibs-4.10.4/kdeui/kernel/kapplication.cpp:311 #17 0x00000032e5b7793e in QCoreApplication::notifyInternal (this=0x7fffffffdc50, receiver=0x968cc0, event=0x7fffffffce40) at kernel/qcoreapplication.cpp:949 #18 0x0000003883fcb40b in QApplicationPrivate::sendMouseEvent (receiver=0x968cc0, event=0x7fffffffce40, alienWidget=0x968cc0, nativeWidget=0x9412d0, buttonDown=0x3884a9e268 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:231 #19 0x0000003884045b74 in QETWidget::translateMouseEvent (this=0x9412d0, event=<optimized out>) at kernel/qapplication_x11.cpp:4537 #20 0x0000003884044901 in QApplication::x11ProcessEvent (this=0x7fffffffdc50, event=0x7fffffffd5b0) at kernel/qapplication_x11.cpp:3660 #21 0x000000388406aa5c in x11EventSourceDispatch (s=s@entry=0x63df00, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148 #22 0x00000032da647a55 in g_main_dispatch (context=0x633780) at gmain.c:2715 #23 g_main_context_dispatch (context=context@entry=0x633780) at gmain.c:3219 #24 0x00000032da647d88 in g_main_context_iterate (context=context@entry=0x633780, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3290 ---Type <return> to continue, or q <return> to quit--- #25 0x00000032da647e44 in g_main_context_iteration (context=0x633780, may_block=1) at gmain.c:3351 #26 0x00000032e5ba5fa6 in QEventDispatcherGlib::processEvents (this=0x609770, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #27 0x000000388406a73e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207 #28 0x00000032e5b765ef in QEventLoop::processEvents (this=this@entry=0x7fffffffd990, flags=...) at kernel/qeventloop.cpp:149 #29 0x00000032e5b76878 in QEventLoop::exec (this=0x7fffffffd990, flags=...) at kernel/qeventloop.cpp:204 #30 0x000000388447e3f8 in QDialog::exec (this=0x7ee050) at dialogs/qdialog.cpp:554 #31 0x0000003794807cec in kdemain (_argc=6422624, _argv=<optimized out>) at /usr/src/debug/kde-runtime-4.10.4/kcmshell/main.cpp:297 #32 0x00000032d7a21a05 in __libc_start_main (main=0x400790 <main(int, char**)>, argc=2, ubp_av=0x7fffffffdd88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdd78) at libc-start.c:225 #33 0x00000000004007c1 in _start () #1 0x00007fffed54b977 in KameraConfigDialog::appendWidget (this=this@entry=0x7fffffffc330, parent=parent@entry=0x8914f0, widget=0xb380b0) at /usr/src/debug/kamera-4.10.4/kcontrol/kameraconfigdialog.cpp:185 185 if(!strcmp(widget_value_string, widget_choice)) (gdb) frame 1 # ATH: at /usr/src/debug/kamera-4.10.4/kcontrol/kameraconfigdialog.cpp:185 (gdb) info locals widget_choice = 0xbc8280 "P" i = 0 count = 16 buttonGroup = 0xd94290 widget_type = <optimized out> widget_info = 0xb381b4 "" widget_value_int = <optimized out> whats_this = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 5332}, alloc = 0, size = 0, data = 0x32e5ed491a <QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 77}, alloc = 0, size = 0, data = 0x32e5ed48fa <QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x32e5ed48e0 <QString::shared_empty>, static codecForCStrings = 0x0} newParent = 0x8914f0 widget_name = 0xb385b4 "autoexposuremode" widget_label = 0xb380b4 "Mode d'exposition automatique Canon" widget_value_float = <optimized out> widget_value_string = 0x0 (gdb) print widget_choice $2 = 0xbc8280 "P" Marcus Meissner wrote: > https://bugs.kde.org/show_bug.cgi?id=244891 > > --- Comment #11 from Marcus Meissner<marcus@jet.franken.de> --- > Weird, as it does not reproduce for me :/ > > if anyone could output the values at that crash site it would be nice > > gdb kcmshell4 > (gdb) r kamera > ... reproduce crash ... > > go to the frame wiht ../../kcontrol/kameraconfigdialog.cpp:192 and then > > (gdb) info locals > > (gdb) print widget_value_string > > (gdb) print widget_choice > > > I need to see why > if(!strcmp(widget_value_string, widget_choice)) > crashes :/ > This could happen when the value of a configuration widget was not set, e.g. in some cases where the value was unknown. I was hoping libgphoto2 always sets the value, but apparently there are some side cases where it did not (or does not). I have applied a patch to kamera GIT to handle this case. Created attachment 81005 [details]
patch to handle unset variables
patch i applied to current kamera GIT, checking for NULL ptr
Marcus, the patch looks good. To get more testing, I would suggest to commit it to 4.11 branch and master. comment #13 is a good new (for segmentation fault) but I think it hides a most serious problem. if you look at the end of comment 13, there is a very strange value for a widget_name : 0xb385b4 "autoexposuremode" . This value is an EXIF data embeded in an plain photo or a thumbnail . All happens as if 2 apps (Kamera and maybe digikam) were accessing the EOS 7D at the same time an it's would be a very bad idea to do this. My opinion is this is a share resource problem or if the camera can't be shared, a locking default. I thought I had it applied and pushed... but I seem to have forgot the push :) pushed now, to master and KDE/4.11 alainthiaville59 ... (re #c16) this is a camera setting that can be changed in the kamera configure dialog. 2 apps cannot access the camera at the same time, the protocol in use does not really know about multiple session over a single usb bus. The second app trying to access it should get a "camera already in use" error already. |