Review Request 111626: Fix Amarok crash with Audio CD inserted

Matěj Laitl matej at laitl.cz
Mon Aug 12 17:07:29 BST 2013



> On July 22, 2013, 2:57 p.m., Lukáš Tinkl wrote:
> > The problem is that udisks2 no longer associates drives with a block device, nothing we can circumvent.
> 
> Christoph Feck wrote:
>     Does commit b92df276 ("Do not clean the cache in UDisks2 backend") work around this udisks2 issue, in other words, is this patch no longer necessary?

Yes, commit b92df276 fixes the root of this issue. Still, KFilePlacesItem should not crash should this happen to the $next solid backend.


- Matěj


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111626/#review36290
-----------------------------------------------------------


On July 21, 2013, 2:28 p.m., Christoph Feck wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/111626/
> -----------------------------------------------------------
> 
> (Updated July 21, 2013, 2:28 p.m.)
> 
> 
> Review request for Amarok, kdelibs and Solid.
> 
> 
> Description
> -------
> 
> https://bugs.kde.org/show_bug.cgi?id=314544#c40 says:
> 
> "Looking at the backtrace, KFilePlacesItem tries to detect Audio CDs as follows:
> 
>     Solid::Device d = device();
>     if (d.isValid()) {
>             if (m_access) {
>                 return QUrl(KUrl(m_access->filePath()));
>             } else if (m_disc && (m_disc->availableContent() & Solid::OpticalDisc::Audio)!=0) {
>                 QString device = d.as<Solid::Block>()->device();
>                 return QUrl(QString("audiocd:/?device=%1").arg(device));
>             }
>     }
> 
> The crash happens, because d.as<Solid::Block> returns 0, in other words, Audio CDs are no longer treated as block devices.
> 
> Failure of said cast can be easily detected, but the question is rather, if it's not a Solid bug, how the code needs to be modified to correctly get the audiocd:/ URL for the block device."
> 
> While I did not yet figure out, how I can get the block device URL for a disc in case block is 0, I propose this temporary fix. It should fix the crash, but could fail to correctly invoke the audiocd:/ kio with multiple disc drives.
> 
> 
> This addresses bug 314544.
>     http://bugs.kde.org/show_bug.cgi?id=314544
> 
> 
> Diffs
> -----
> 
>   kfile/kfileplacesitem.cpp 5a12486 
> 
> Diff: http://git.reviewboard.kde.org/r/111626/diff/
> 
> 
> Testing
> -------
> 
> I could not test, my system has no disc drives.
> 
> 
> Thanks,
> 
> Christoph Feck
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20130812/0e94b3a9/attachment.htm>


More information about the kde-core-devel mailing list