Bug 135934 - crash during camera access
Summary: crash during camera access
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Engine (show other bugs)
Version: 0.9.0
Platform: Slackware Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-18 23:04 UTC by ecforum
Modified: 2021-05-04 06:01 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.3.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ecforum 2006-10-18 23:04:10 UTC
Version:           0.9.0-beta2 (using KDE KDE 3.5.4)
Installed from:    Slackware Packages
Compiler:          gcc version 3.4.6 
OS:                Linux

Hello,
When I clic on the menu camera/powershot... the dialog to show images in the camera opens.
Digikam begins to show many images and then crashs.
I use a Linux Slackware 11.0.

Here are backtraces :
=====================
digikam: Size of Exif metadata from camera = 8190
digikam: Exif header found at position 4
*** glibc detected *** double free or corruption (out): 0x43b069f0 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread 16384 (LWP 4327)]
0x41e21c81 in kill () from /lib/libc.so.6

=============================================
(gdb) bt
#0  0x41e21c81 in kill () from /lib/libc.so.6
#1  0x41bde4a1 in pthread_kill () from /lib/libpthread.so.0
#2  0x41bde87b in raise () from /lib/libpthread.so.0
#3  0x41e218f8 in raise () from /lib/libc.so.6
#4  0x41e22f00 in abort () from /lib/libc.so.6
#5  0x41e556ce in __libc_message () from /lib/libc.so.6
#6  0x41e5bcae in _int_free () from /lib/libc.so.6
#7  0x41e5c076 in free () from /lib/libc.so.6
#8  0x41d9e721 in operator delete () from /usr/lib/libstdc++.so.6
#9  0x41d7f657 in std::string::_Rep::_M_destroy () from /usr/lib/libstdc++.so.6
#10 0x41d7f8ff in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string () from /usr/lib/libstdc++.so.6
#11 0x40328fa0 in Digikam::DMetadata::getImageDateTime (this=0xbfffe6c0) at dmetadata.cpp:754
#12 0x40330363 in Digikam::DMetadata::getPhotographInformations (this=0xbfffe6c0) at dmetadata.cpp:1444
#13 0x402d5c2a in Digikam::CameraItemPropertiesTab::setCurrentItem (this=0x81ecab8, itemInfo=0x8378c38, itemType=1, newFileName=@0xbfffe7d0, exifData=@0x82e4c04, 
    currentURL=@0x82e4c0c) at cameraitempropertiestab.cpp:425
#14 0x402d0de0 in Digikam::ImagePropertiesSideBarCamGui::slotChangedTab (this=0x81ef668, tab=0x81ecab8) at imagepropertiessidebarcamgui.cpp:193
#15 0x402d0b2a in Digikam::ImagePropertiesSideBarCamGui::itemChanged (this=0x81ef668, itemInfo=0x8378c38, url=@0xbfffe8b0, exifData=@0xbfffe8a0, view=0x81cf7d0, 
    item=0x837d5b8) at imagepropertiessidebarcamgui.cpp:161
#16 0x402aa893 in Digikam::CameraUI::slotExifFromData (this=0x81e04b8, exifData=@0xbfffea70) at cameraui.cpp:1453
#17 0x402ac080 in Digikam::CameraUI::qt_invoke (this=0x81e04b8, _id=114, _o=0xbfffe9b0) at cameraui.moc:284
#18 0x41466d44 in QObject::activate_signal () from /usr/lib/qt/lib/libqt-mt.so.3
#19 0x402bb4b7 in Digikam::CameraController::signalExifData (this=0x8384bf0, t0=@0xbfffea70) at cameracontroller.moc:351
#20 0x402b8927 in Digikam::CameraController::customEvent (this=0x8384bf0, e=0x83d6500) at cameracontroller.cpp:908
#21 0x414641df in QObject::event () from /usr/lib/qt/lib/libqt-mt.so.3
#22 0x4140223f in QApplication::internalNotify () from /usr/lib/qt/lib/libqt-mt.so.3
#23 0x414023dc in QApplication::notify () from /usr/lib/qt/lib/libqt-mt.so.3
#24 0x40f90ac5 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
#25 0x414032f0 in QApplication::sendPostedEvents () from /usr/lib/qt/lib/libqt-mt.so.3
#26 0x41403384 in QApplication::sendPostedEvents () from /usr/lib/qt/lib/libqt-mt.so.3
#27 0x413adea6 in QEventLoop::processEvents () from /usr/lib/qt/lib/libqt-mt.so.3
#28 0x41418961 in QEventLoop::enterLoop () from /usr/lib/qt/lib/libqt-mt.so.3
#29 0x414188b6 in QEventLoop::exec () from /usr/lib/qt/lib/libqt-mt.so.3
#30 0x4140139f in QApplication::exec () from /usr/lib/qt/lib/libqt-mt.so.3
#31 0x0804a9ff in main (argc=1, argv=0xbffff2b4) at main.cpp:269
(gdb) bt full
#0  0x41e21c81 in kill () from /lib/libc.so.6
No symbol table info available.
#1  0x41bde4a1 in pthread_kill () from /lib/libpthread.so.0
No symbol table info available.
#2  0x41bde87b in raise () from /lib/libpthread.so.0
No symbol table info available.
#3  0x41e218f8 in raise () from /lib/libc.so.6
No symbol table info available.
#4  0x41e22f00 in abort () from /lib/libc.so.6
No symbol table info available.
#5  0x41e556ce in __libc_message () from /lib/libc.so.6
No symbol table info available.
#6  0x41e5bcae in _int_free () from /lib/libc.so.6
No symbol table info available.
#7  0x41e5c076 in free () from /lib/libc.so.6
No symbol table info available.
#8  0x41d9e721 in operator delete () from /usr/lib/libstdc++.so.6
No symbol table info available.
#9  0x41d7f657 in std::string::_Rep::_M_destroy () from /usr/lib/libstdc++.so.6
No symbol table info available.
#10 0x41d7f8ff in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string () from /usr/lib/libstdc++.so.6
No symbol table info available.
#11 0x40328fa0 in Digikam::DMetadata::getImageDateTime (this=0xbfffe6c0) at dmetadata.cpp:754
        dateTime = {d = {jd = 2453938}, t = {ds = 74666000}}
        key = <incomplete type>
        exifData = {exifMetadata_ = {<std::_Vector_base<Exiv2::Exifdatum,std::allocator<Exiv2::Exifdatum> >> = {
      _M_impl = {<std::allocator<Exiv2::Exifdatum>> = {<__gnu_cxx::new_allocator<Exiv2::Exifdatum>> = {<No data fields>}, <No data fields>}, _M_start = 0x43b0bdd0, 
        _M_finish = 0x43b0c5c8, _M_end_of_storage = 0x43b0c5c8}}, <No data fields>}, pTiffHeader_ = 0x43b11d40, pIfd0_ = 0x43b11d50, pExifIfd_ = 0x43b11f10, 
  pIopIfd_ = 0x43b12470, pGpsIfd_ = 0x43b12558, pIfd1_ = 0x43b12588, pMakerNote_ = 0x43b126c8, size_ = 8180, pData_ = 0x43b0fd48 "II*", compatible_ = true}
        it2 = {_M_current = 0x8515186}
        key3 = <incomplete type>
        it = {_M_current = 0x43b0be18}
        key2 = <incomplete type>
        it3 = {_M_current = 0x1}
#12 0x40330363 in Digikam::DMetadata::getPhotographInformations (this=0xbfffe6c0) at dmetadata.cpp:1444
        photoInfo = {make = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, 
    d = 0x804ee50, static shared_null = 0x804ee50}, model = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, exposureTime = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, 
  exposureMode = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, 
    static shared_null = 0x804ee50}, exposureProgram = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, aperture = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, 
  focalLenght = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, 
    static shared_null = 0x804ee50}, focalLenght35mm = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, sensitivity = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, 
  flash = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, 
    static shared_null = 0x804ee50}, whiteBalance = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, dateTime = {d = {jd = 0}, t = {ds = 0}}}
#13 0x402d5c2a in Digikam::CameraItemPropertiesTab::setCurrentItem (this=0x81ecab8, itemInfo=0x8378c38, itemType=1, newFileName=@0xbfffe7d0, exifData=@0x82e4c04, 
    currentURL=@0x82e4c0c) at cameraitempropertiestab.cpp:425
---Type <return> to continue, or q <return> to quit---thread apply all bt
        str = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x845bfe8, 
  static shared_null = 0x804ee50}
        date = {d = {jd = 2453938}, t = {ds = 78266000}}
        unknown = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x845bfe8, 
  static shared_null = 0x804ee50}
        mpixels = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x8461f78, 
  static shared_null = 0x804ee50}
        dims = {wd = 2816, ht = 2112}
        unavailable = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x845dc58, 
  static shared_null = 0x804ee50}
        metaData = {d = 0x83f5a68}
        photoInfo = {make = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, 
    d = 0x41bdfe6e, static shared_null = 0x804ee50}, model = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x0, static shared_null = 0x804ee50}, exposureTime = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x0, static shared_null = 0x804ee50}, 
  exposureMode = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x0, 
    static shared_null = 0x804ee50}, exposureProgram = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x0, static shared_null = 0x804ee50}, aperture = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x0, static shared_null = 0x804ee50}, 
  focalLenght = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x0, 
    static shared_null = 0x804ee50}, focalLenght35mm = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x41bdbf6a, static shared_null = 0x804ee50}, sensitivity = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x0, static shared_null = 0x804ee50}, 
  flash = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x0, 
    static shared_null = 0x804ee50}, whiteBalance = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x0, static shared_null = 0x804ee50}, dateTime = {d = {jd = 1102991348}, t = {ds = 1106393568}}}
#14 0x402d0de0 in Digikam::ImagePropertiesSideBarCamGui::slotChangedTab (this=0x81ef668, tab=0x81ecab8) at imagepropertiessidebarcamgui.cpp:193
        currentItemType = 1
#15 0x402d0b2a in Digikam::ImagePropertiesSideBarCamGui::itemChanged (this=0x81ef668, itemInfo=0x8378c38, url=@0xbfffe8b0, exifData=@0xbfffe8a0, view=0x81cf7d0, 
    item=0x837d5b8) at imagepropertiessidebarcamgui.cpp:161
No locals.
#16 0x402aa893 in Digikam::CameraUI::slotExifFromData (this=0x81e04b8, exifData=@0xbfffea70) at cameraui.cpp:1453
        data = {<> = {<No data fields>}, <No data fields>}
        i = 10
        item = (class Digikam::CameraIconViewItem *) 0x837d5b8
        url = {m_strProtocol = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, 
    d = 0x8050548, static shared_null = 0x804ee50}, m_strUser = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, m_strPass = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, 
  m_strHost = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, 
    static shared_null = 0x804ee50}, m_strPath = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, 
      static shared_null = 0x804ee50}, d = 0x8467c98, static shared_null = 0x804ee50}, m_strRef_encoded = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, 
  m_strQuery_encoded = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, 
    static shared_null = 0x804ee50}, m_bIsMalformed = false, m_iUriMode = URL, freeForUse = 0, m_iPort = 0, m_strPath_encoded = {static null = {
      static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x804ee50, static shared_null = 0x804ee50}, 
  d = 0x403bc3f4}
        exifHeader = "Exif\000"
#17 0x402ac080 in Digikam::CameraUI::qt_invoke (this=0x81e04b8, _id=114, _o=0xbfffe9b0) at cameraui.moc:284
No locals.
#18 0x41466d44 in QObject::activate_signal () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#19 0x402bb4b7 in Digikam::CameraController::signalExifData (this=0x8384bf0, t0=@0xbfffea70) at cameracontroller.moc:351
        clist = (struct QConnectionList *) 0x8387648
        o = {{type = 0x418d6ac4, payload = {b = false, c = 0 '\0', s = 0, i = 0, l = 0, uc = 0 '\0', us = 0, ui = 0, ul = 0, f = 0, d = 2.1219957909652723e-314, 
      byte = "\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000", bytearray = {data = 0x0, size = 1}, ptr = 0x0, voidstar = {ptr = 0x0, owner = true}, 
      charstar = {ptr = 0x0, owner = true}, utf8 = {ptr = 0x0, owner = true}, local8bit = {ptr = 0x0, owner = true}, iface = 0x0, idisp = 0x0}}, {type = 0x418d508c, 
    payload = {b = 112, c = 112 'p', s = -5520, i = -1073747344, l = -1073747344, uc = 112 'p', us = 60016, ui = 3221219952, ul = 3221219952, f = -1.99934196, 
      d = 3.3903040885900779, byte = "pêÿ¿W\037\v@\230Ì\004@\234Á;@", bytearray = {data = 0xbfffea70 "ð:<@P²3\b\bëÿ¿\204ÛPAp9\214A", size = 1074470743}, 
      ptr = 0xbfffea70, voidstar = {ptr = 0xbfffea70, owner = 87}, charstar = {ptr = 0xbfffea70 "ð:<@P²3\b\bëÿ¿\204ÛPAp9\214A", owner = 87}, utf8 = {
        ptr = 0xbfffea70 "ð:<@P²3\b\bëÿ¿\204ÛPAp9\214A", owner = 87}, local8bit = {ptr = 0xbfffea70 "ð:<@P²3\b\bëÿ¿\204ÛPAp9\214A", owner = 87}, iface = 0xbfffea70, 
      idisp = 0xbfffea70}}}
#20 0x402b8927 in Digikam::CameraController::customEvent (this=0x8384bf0, e=0x83d6500) at cameracontroller.cpp:908
        folder = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x8410df8, 
  static shared_null = 0x804ee50}
        file = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x8410b80, 
  static shared_null = 0x804ee50}
        ba = {<> = {<No data fields>}, <No data fields>}
        event = (class Digikam::CameraEvent *) 0x83d6500
        __PRETTY_FUNCTION__ = "virtual void Digikam::CameraController::customEvent(QCustomEvent*)"
#21 0x414641df in QObject::event () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#22 0x4140223f in QApplication::internalNotify () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#23 0x414023dc in QApplication::notify () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#24 0x40f90ac5 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
No symbol table info available.
#25 0x414032f0 in QApplication::sendPostedEvents () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#26 0x41403384 in QApplication::sendPostedEvents () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#27 0x413adea6 in QEventLoop::processEvents () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#28 0x41418961 in QEventLoop::enterLoop () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#29 0x414188b6 in QEventLoop::exec () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#30 0x4140139f in QApplication::exec () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#31 0x0804a9ff in main (argc=1, argv=0xbffff2b4) at main.cpp:269
        description = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x805b900, 
  static shared_null = 0x804ee50}
        aboutData = {mAppName = 0x804b233 "digikam", mProgramName = 0x804b22b "digiKam", mVersion = 0x804b9de "0.9.0-beta2", 
  mShortDescription = 0x805b6f0 "A Photo-Management Application for KDE\nUsing Kipi library version 0.1.4", mLicenseKey = 1, 
  mCopyrightStatement = 0x804b204 "(c) 2002-2006, digiKam developers team", mOtherText = 0x0, mHomepageAddress = 0x804b1eb "http://www.digikam.org", 
  mBugEmailAddress = 0x804b1d7 "submit@bugs.kde.org", mAuthorList = {sh = 0x805b5e8}, mCreditList = {sh = 0x805b6c8}, mLicenseText = 0x0, d = 0x805b798}
        dirInfo = {fn = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, 
    d = 0x80dec50, static shared_null = 0x804ee50}, fic = 0x80de6c8, cache = true, symLink = false}
        app = <incomplete type>
        config = (struct KConfig *) 0x80b1ba0
        version = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x80dee38, 
  static shared_null = 0x804ee50}
        albumPath = {static null = {static null = <same as static member of an already seen type>, d = 0x804ee50, static shared_null = 0x804ee50}, d = 0x80dec50, 
---Type <return> to continue, or q <return> to quit---
  static shared_null = 0x804ee50}
        man = (class Digikam::AlbumManager *) 0x80deb38
        digikam = (class Digikam::DigikamApp *) 0x80f0638
        args = (KCmdLineArgs *) 0x805b6a8
        tipsFiles = {<QValueList<QString>> = {sh = 0x82de360}, <No data fields>}
Comment 1 ecforum 2006-10-19 22:27:51 UTC
The is NO problem.
I compiled myself Exiv2 for my new Slackware 11. And there is no more problem.

!! There is also NO problem with Digikam 0.9.0 beta 3 !!

Tanks for digikam !
Comment 2 caulier.gilles 2006-10-20 09:48:32 UTC
Andreas,

Look this crash (:=)))... Sounds like others crash report relevant of libc and exiv2.

Ecforum,

We have others crash reports in KDE bugzzilla look exactly like your one.

If you have solved the problem, i will be happy to have more informations about how you have compiled Exiv2 library, especially:

- Witch gcc version you use,
- Witch libc version you use,
- Witch compilation options you use (are you optimization enabled ?)
- Witch CPU target (32/64 bits, AMD, PPC, Intel)

Thanks in advance

Gilles
Comment 3 ecforum 2006-10-21 11:34:16 UTC
Here are the informations :

Linux   : Slackware 11.0
kernel  : 2.4.33.3 - i686 athlon-4 i386 GNU/Linux
gcc     : 3.4.6
glibc   : 2.3.6
gphoto  : 2.2.1    (./configure --prefix=/usr/local/LibGphoto2-2.2.1 --with-drivers=canon,ptp2 --with-libexif=auto)
Exiv2   : 0.11     (./configure --prefix=/usr/local/Exiv2-0.11)
DigiKam : 0.9.0 b3 (./configure --prefix=/usr/local/DigiKam-0.9.0.b3 --with-extra-libs=/usr/local/Exiv2/lib/  --with-extra-includes=/usr/local/Exiv2/include/)

To test I have compiled Exiv and Digikam with --disable-debug. It's OK too.
Comment 4 caulier.gilles 2021-05-04 06:01:04 UTC
Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4