[Bug 38955] blank location in database entry causes abort

Phillip Calvin phillipc at toasterlogic.com
Mon Apr 10 04:06:10 BST 2006


Public bug reported:

Affects: rhythmbox (Ubuntu)
       Severity: Normal
       Priority: (none set)
         Status: Unconfirmed


Description:
Steps to reproduce:
1. Modify an entry (or create one) in your rhythmdb.xml library file (specifically ~/.gnome2/rhythmbox/rhythmdb.xml) so it has a blank <location> tag.
For example:
 <entry type="song">
    <title>Title</title>
    <genre>Rock</genre>
    <artist>So and So</artist>
    <album>Best of So and So</album>
    <duration>181</duration>
    <file-size>2898513</file-size>
    <location></location>
    <mountpoint>file:///</mountpoint>
    <mtime>1139182965</mtime>
    <first-seen>1143761201</first-seen>
    <last-seen>1144632181</last-seen>
    <rating>2.500000</rating>
    <play-count>1</play-count>
    <last-played>1144199177</last-played>
    <bitrate>128</bitrate>
    <date>731947</date>
    <mimetype>application/x-id3</mimetype>
  </entry>
2. Start Rhythmbox.

Result: Abort and crash.
Expected result: Skip file and continue.

Output from rhythmbox --debug:
[loading library business]
[0x10102cd8] [queue_stat_uri] rhythmdb.c:1789 (23:05:00): queueing stat for ""

RhythmDB-ERROR **: file rhythmdb.c: line 1790 (queue_stat_uri):
assertion failed: (uri && *uri)


Backtrace (really useless, sorry, I can't find the debugging symbols package):
(gdb) run
Starting program: /usr/bin/rhythmbox
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 805528320 (LWP 7845)]
[New Thread 815740144 (LWP 7853)]
[New Thread 816002288 (LWP 7854)]
[New Thread 824595696 (LWP 7857)]
[New Thread 832984304 (LWP 7858)]

(rhythmbox:7845): Rhythmbox-WARNING **: Unable to start mDNS browsing
[Thread 832984304 (LWP 7858) exited]
[Thread 824595696 (LWP 7857) exited]
[New Thread 843052272 (LWP 7860)]
[Thread 843052272 (LWP 7860) exited]

RhythmDB-ERROR **: file rhythmdb.c: line 1790 (queue_stat_uri): assertion failed: (uri && *uri)
aborting...
[New Thread 843052272 (LWP 7861)]

Program received signal SIGABRT, Aborted.
[Switching to Thread 805528320 (LWP 7845)]
0x0e4e7708 in raise () from /lib/libc.so.6
(gdb) thread apply all bt

Thread 7 (Thread 843052272 (LWP 7861)):
#0  0x0f478544 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#2  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#3  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#4  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#5  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#6  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
Previous frame inner to this frame (corrupt stack?)

Thread 6 (Thread 843052272 (LWP 7861)):
#0  0x0f478544 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#2  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
---Type <return> to continue, or q <return> to quit---
   from /lib/libpthread.so.0
#3  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#4  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#5  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#6  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
Previous frame inner to this frame (corrupt stack?)

Thread 3 (Thread 816002288 (LWP 7854)):
#0  0x0e57e1a8 in poll () from /lib/libc.so.6
#1  0x0e57e190 in poll () from /lib/libc.so.6
#2  0x0e57e190 in poll () from /lib/libc.so.6
#3  0x0e57e190 in poll () from /lib/libc.so.6
#4  0x0e57e190 in poll () from /lib/libc.so.6
#5  0x0e57e190 in poll () from /lib/libc.so.6
#6  0x0e57e190 in poll () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 815740144 (LWP 7853)):
#0  0x0f478544 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
---Type <return> to continue, or q <return> to quit---
   from /lib/libpthread.so.0
#2  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#3  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#4  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#5  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#6  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#7  0x0f478528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
Previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread 805528320 (LWP 7845)):
#0  0x0e4e7708 in raise () from /lib/libc.so.6
#1  0x0e4e9104 in abort () from /lib/libc.so.6
#2  0x0e6866bc in IA__g_logv (log_domain=<value optimized out>,
    log_level=<value optimized out>,
    format=0xe6b8ee4 "file %s: line %d (%s): assertion failed: (%s)",
    args1=0x7f96f100) at gmessages.c:497
#3  0x0e68673c in IA__g_log (log_domain=0x0, log_level=7845,
    format=0x6 <Address 0x6 out of bounds>) at gmessages.c:517
---Type <return> to continue, or q <return> to quit---
#4  0x0e6867e0 in IA__g_assert_warning (log_domain=0x100bcfb0 "RhythmDB",
    file=0x100c9320 "rhythmdb.c", line=1790,
    pretty_function=0x100c88bc "queue_stat_uri",
    expression=0x100c9484 "uri && *uri") at gmessages.c:552
#5  0x100628fc in rhythmdb_entry_is_editable ()
#6  0x10066554 in rhythmdb_entry_new ()
#7  0x10066a0c in rhythmdb_entry_move_to_trash ()
#8  0x0e67df54 in g_timeout_dispatch (source=0x10314980, callback=0xfa,
    user_data=0x0) at gmain.c:3292
#9  0x0e67b644 in IA__g_main_context_dispatch (context=0x7f96f1a0)
    at gmain.c:1916
#10 0x0e67fa3c in g_main_context_iterate (context=0x1020e1d0, block=1,
    dispatch=1, self=<value optimized out>) at gmain.c:2547
#11 0x0e67fe94 in IA__g_main_loop_run (loop=0x10313348) at gmain.c:2751
#12 0x0f5f47c4 in bonobo_main () from /usr/lib/libbonobo-2.so.0
#13 0x10020264 in main ()
-- 
blank location in database entry causes abort
https://launchpad.net/malone/bugs/38955



More information about the desktop-bugs mailing list