OBEX Media Devices

Colin Guthrie gmane at colin.guthr.ie
Mon Apr 23 19:08:40 UTC 2007


Jeff Mitchell wrote:
> Colin--
> 
> I haven't been able to replicate this.  I should say up front that the 
> Generic device expects a mount point where it will find a file system.  
> For instance, you couldn't pass it a smb:// address, but you could use 
> mount -t smbfs .... and then specify the mount point.
> 
> Anyways, I do want to fix any crash you are seeing, so I tried making 
> "obex://blah" the mount point for a Generic device, and attempting to 
> connect, and I simply get a "Malformed URL" error.  Using current SVN 
> stable branch.  Can you give more details?

OK, more details :)

I'm running Mandriva Cooker which has Amarok 1.4.5 + some patches. In
konq i can "browse" my phone via Obex. It's URL looks a bit like:
obex://[xx:xx:xx:xx:xx:xx]:7/Memory Stick/MP3/ where xx is the MAC
address of the phone and the 7 is the bluetooth channel to use.

I basically copied/pasted the above URL to the mount point of a Generic
Media Device in the half hearted thought that it may have been
implemented using KIO in Amarok (in which case I was hoping that it
would "just work(TM)"). Alas no, it borked with the stack trace previous
submitted.

I've installed the debug symbols (just for amarok) and I now give you a
slightly better backtrace in the hope that it helps.

Col.

[colin at jimmy ~]$ gdb amarokapp
GNU gdb 6.6-1mdv2007.1 (Mandriva Linux release 2007.1)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-mandriva-linux-gnu"...
Using host libthread_db library "/lib64/libthread_db.so.1".
(gdb) run
Starting program: /usr/bin/amarokapp
[Thread debugging using libthread_db enabled]
[New Thread 47486546552016 (LWP 24784)]
kdecore (KAction): WARNING: KAction::insertKAccel( kaccel = 0x781570 ):
KAccel object already contains an action name "play_pause"
QLayout "unnamed" added to QVBox "unnamed", which already has a layout
kdecore (KAction): WARNING: KAction::insertKAccel( kaccel = 0x781570 ):
KAccel object already contains an action name "play_pause"
QLayout: Adding KToolBar/mainToolBar (child of QVBox/unnamed) to layout
for PlaylistWindow/PlaylistWindow
[New Thread 1082132800 (LWP 24787)]
[New Thread 1090525504 (LWP 24788)]
[New Thread 1098918208 (LWP 24789)]
[New Thread 1107310912 (LWP 24790)]
[Thread 1090525504 (LWP 24788) exited]
[New Thread 1090525504 (LWP 24791)]
[Thread 1090525504 (LWP 24791) exited]
[New Thread 1090525504 (LWP 24792)]
[Thread 1090525504 (LWP 24792) exited]
[Thread 1098918208 (LWP 24789) exited]
[Thread 1107310912 (LWP 24790) exited]
[New Thread 1107310912 (LWP 24795)]
[New Thread 1098918208 (LWP 24796)]
[New Thread 1090525504 (LWP 24797)]
[New Thread 1115703616 (LWP 24798)]
[New Thread 1124096320 (LWP 24799)]
STARTUP
[New Thread 1132489024 (LWP 24813)]
[Thread 1132489024 (LWP 24813) exited]
[Thread 1082132800 (LWP 24787) exited]
[New Thread 1082132800 (LWP 24814)]
[Thread 1082132800 (LWP 24814) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47486546552016 (LWP 24784)]
MediaItem::setType (this=0x0, type=MediaItem::DIRECTORY)
    at mediabrowser.cpp:942
942         setDragEnabled(true);
(gdb) bt
#0  MediaItem::setType (this=0x0, type=MediaItem::DIRECTORY)
    at mediabrowser.cpp:942
#1  0x00002aaaab614c35 in GenericMediaDevice::addTrackToList
(this=0xdba8f0,
    type=16, url=<value optimized out>) at genericmediadevice.cpp:884
#2  0x00002aaaab61504c in GenericMediaDevice::newItems (this=0xdba8f0,
    items=<value optimized out>) at genericmediadevice.cpp:832
#3  0x00002aaaab6161ee in GenericMediaDevice::qt_invoke (this=0xdba8f0,
    _id=17, _o=0x7fff6214d2f0) at genericmediadevice.moc:136
#4  0x00002b304d59246c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#5  0x00002b304b5596a5 in KDirLister::newItems () from
/usr/lib64/libkio.so.4
#6  0x00002b304b55a9b4 in KDirLister::emitItems () from
/usr/lib64/libkio.so.4
#7  0x00002b304b592cac in KDirListerCache::slotEntries ()
   from /usr/lib64/libkio.so.4
#8  0x00002b304b5a47aa in KDirListerCache::qt_invoke ()
   from /usr/lib64/libkio.so.4
#9  0x00002b304d59246c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#10 0x00002b304b4e1df6 in KIO::ListJob::entries () from
/usr/lib64/libkio.so.4
#11 0x00002b304b52e92b in KIO::ListJob::slotListEntries ()
   from /usr/lib64/libkio.so.4
#12 0x00002b304b535bbd in KIO::ListJob::qt_invoke ()
   from /usr/lib64/libkio.so.4
---Type <return> to continue, or q <return> to quit---echo \n\n
#13 0x00002b304d59246c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#14 0x00002b304b4e0a35 in KIO::SlaveInterface::listEntries ()
   from /usr/lib64/libkio.so.4
#15 0x00002b304b53de65 in KIO::SlaveInterface::dispatch ()
   from /usr/lib64/libkio.so.4
#16 0x00002b304b533cfe in KIO::SlaveInterface::dispatch ()
   from /usr/lib64/libkio.so.4
#17 0x00002b304b4ee3cb in KIO::Slave::gotInput () from
/usr/lib64/libkio.so.4
#18 0x00002b304b526648 in KIO::Slave::qt_invoke () from
/usr/lib64/libkio.so.4
#19 0x00002b304d59246c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#20 0x00002b304d59303f in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#21 0x00002b304d5ac99b in QSocketNotifier::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#22 0x00002b304d53d4b5 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#23 0x00002b304d53e230 in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#24 0x00002b304c4f0e68 in KApplication::notify ()
   from /usr/lib64/libkdecore.so.4
#25 0x00002b304d53382b in QEventLoop::activateSocketNotifiers ()
---Type <return> to continue, or q <return> to quit---bt full
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#26 0x00002b304d4f59e0 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#27 0x00002b304d551201 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#28 0x00002b304d5510d2 in QEventLoop::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#29 0x0000000000404750 in main (argc=1, argv=0x7fff6214e3e8) at main.cpp:114
#30 0x00002b305259cc34 in __libc_start_main () from /lib64/libc.so.6
#31 0x00000000004040d9 in _start ()
(gdb) echo \n\n


(gdb) echo ==== (gdb) thread apply all bt ====\n
==== (gdb) thread apply all bt ====
(gdb) thread apply all bt

Thread 12 (Thread 1124096320 (LWP 24799)):
#0  0x00002b305134e686 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00002aaaacfdb04b in xine_event_wait () from /usr/lib64/libxine.so.1
#2  0x00002aaaacfdb0c9 in QGList::~QGList$delete ()
   from /usr/lib64/libxine.so.1
#3  0x00002b305134b17e in start_thread () from /lib64/libpthread.so.0
#4  0x00002b305264c41d in clone () from /lib64/libc.so.6

Thread 11 (Thread 1115703616 (LWP 24798)):
#0  0x00002b305134e686 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00002aaaacfcc962 in QGList::~QGList$delete ()
   from /usr/lib64/libxine.so.1
#2  0x00002aaaacfd302d in QGList::~QGList$delete ()
   from /usr/lib64/libxine.so.1
#3  0x00002b305134b17e in start_thread () from /lib64/libpthread.so.0
#4  0x00002b305264c41d in clone () from /lib64/libc.so.6

Thread 10 (Thread 1090525504 (LWP 24797)):
#0  0x00002b305134e686 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#1  0x00002aaaacfd708d in QGList::~QGList$delete ()
   from /usr/lib64/libxine.so.1
#2  0x00002aaaacfd9448 in QGList::~QGList$delete ()
   from /usr/lib64/libxine.so.1
#3  0x00002b305134b17e in start_thread () from /lib64/libpthread.so.0
#4  0x00002b305264c41d in clone () from /lib64/libc.so.6

Thread 9 (Thread 1098918208 (LWP 24796)):
#0  0x00002b3052643716 in poll () from /lib64/libc.so.6
#1  0x00002aaab00a9b4d in QGList::~QGList$delete ()
   from /usr/lib64/libpulse.so.0
#2  0x00002aaab00a31e8 in pa_mainloop_poll () from /usr/lib64/libpulse.so.0
#3  0x00002aaab00a4028 in pa_mainloop_iterate () from
/usr/lib64/libpulse.so.0
#4  0x00002aaab00a40c0 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#5  0x00002aaab00a9a7d in QGList::~QGList$delete ()
   from /usr/lib64/libpulse.so.0
#6  0x00002aaab00bab15 in QGList::~QGList$delete ()
   from /usr/lib64/libpulse.so.0
#7  0x00002b305134b17e in start_thread () from /lib64/libpthread.so.0
#8  0x00002b305264c41d in clone () from /lib64/libc.so.6

Thread 8 (Thread 1107310912 (LWP 24795)):
#0  0x00002b305134e877 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
---Type <return> to continue, or q <return> to quit---
   from /lib64/libpthread.so.0
#1  0x00002aaaacfc95f3 in QGList::~QGList$delete ()
   from /usr/lib64/libxine.so.1
#2  0x00002b305134b17e in start_thread () from /lib64/libpthread.so.0
#3  0x00002b305264c41d in clone () from /lib64/libc.so.6

Thread 1 (Thread 47486546552016 (LWP 24784)):
#0  MediaItem::setType (this=0x0, type=MediaItem::DIRECTORY)
    at mediabrowser.cpp:942
#1  0x00002aaaab614c35 in GenericMediaDevice::addTrackToList
(this=0xdba8f0,
    type=16, url=<value optimized out>) at genericmediadevice.cpp:884
#2  0x00002aaaab61504c in GenericMediaDevice::newItems (this=0xdba8f0,
    items=<value optimized out>) at genericmediadevice.cpp:832
#3  0x00002aaaab6161ee in GenericMediaDevice::qt_invoke (this=0xdba8f0,
    _id=17, _o=0x7fff6214d2f0) at genericmediadevice.moc:136
#4  0x00002b304d59246c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#5  0x00002b304b5596a5 in KDirLister::newItems () from
/usr/lib64/libkio.so.4
#6  0x00002b304b55a9b4 in KDirLister::emitItems () from
/usr/lib64/libkio.so.4
#7  0x00002b304b592cac in KDirListerCache::slotEntries ()
   from /usr/lib64/libkio.so.4
#8  0x00002b304b5a47aa in KDirListerCache::qt_invoke ()
   from /usr/lib64/libkio.so.4
---Type <return> to continue, or q <return> to quit---
#9  0x00002b304d59246c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#10 0x00002b304b4e1df6 in KIO::ListJob::entries () from
/usr/lib64/libkio.so.4
#11 0x00002b304b52e92b in KIO::ListJob::slotListEntries ()
   from /usr/lib64/libkio.so.4
#12 0x00002b304b535bbd in KIO::ListJob::qt_invoke ()
   from /usr/lib64/libkio.so.4
#13 0x00002b304d59246c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#14 0x00002b304b4e0a35 in KIO::SlaveInterface::listEntries ()
   from /usr/lib64/libkio.so.4
#15 0x00002b304b53de65 in KIO::SlaveInterface::dispatch ()
   from /usr/lib64/libkio.so.4
#16 0x00002b304b533cfe in KIO::SlaveInterface::dispatch ()
   from /usr/lib64/libkio.so.4
#17 0x00002b304b4ee3cb in KIO::Slave::gotInput () from
/usr/lib64/libkio.so.4
#18 0x00002b304b526648 in KIO::Slave::qt_invoke () from
/usr/lib64/libkio.so.4
#19 0x00002b304d59246c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#20 0x00002b304d59303f in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#21 0x00002b304d5ac99b in QSocketNotifier::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#22 0x00002b304d53d4b5 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#23 0x00002b304d53e230 in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#24 0x00002b304c4f0e68 in KApplication::notify ()
   from /usr/lib64/libkdecore.so.4
#25 0x00002b304d53382b in QEventLoop::activateSocketNotifiers ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#26 0x00002b304d4f59e0 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#27 0x00002b304d551201 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#28 0x00002b304d5510d2 in QEventLoop::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#29 0x0000000000404750 in main (argc=1, argv=0x7fff6214e3e8) at main.cpp:114
#30 0x00002b305259cc34 in __libc_start_main () from /lib64/libc.so.6
#31 0x00000000004040d9 in _start ()
(gdb)
(gdb)




More information about the Amarok mailing list