dolphin crashing MacOS

Kurt Hindenburg kurt.hindenburg at gmail.com
Sat Jun 22 12:30:22 BST 2013


Hi, thanks for your reply.

dolphin(67405) ViewProperties::ViewProperties: # Check 1: settings->globalViewProps() returns false
dolphin(67405) ViewProperties::ViewProperties: # Check 2: settings->globalViewProps() returns false

Regards,
   Kurt

On Jun 22, 2013, at 3:14 AM, Frank Reininghaus <frank78ac at googlemail.com> wrote:

> Hi Kurt,
> 
> thanks for your message and for your efforts to debug this crash!
> 
> This looks like https://bugs.kde.org/show_bug.cgi?id=316209. The
> latest backtrace already looked like there was an infinite recursion
> going on, but I had been too busy with lots of other things to look
> into this (and moreover, it's also kind of hard to debug issues that
> are not reproducible on Linux).
> 
> 2013/6/21 Kurt Hindenburg:
>> Hi,
>>  On MacOSX, dolphin crashes upon startup.  It appears that with
>> GlobalViewProps=true it will run OK.
>> 
>> Looking at the code dolphin/src/views/viewproperties.cpp
>> 
>> @@ -103,8 +103,8 @@ ViewProperties::ViewProperties(const KUrl& url) :
>> 
>> 
>> commenting out these 2 lines allows dolphin to work
>> 
>> +            //ViewProperties defaultProps(url);
>> +            //setDirProperties(defaultProps);
>> 
>> I don't understand what dolphin is trying to do with those lines.  The crash
>> is that ViewProperties() is called again and again until it crashes.
> 
> It is in "GlobalViewProps=false" mode, i.e., it tries to read the view
> properties from a .directory file in the current directory. However,
> if we end up in the lines that you've commented out, it seems that the
> .directory file could not be found, and therefore, we try to use the
> "global view properties" for this directory.
> 
> To do this, we do "settings->setGlobalViewProps(true)" and initialize
> a new ViewProperties instance. In its constructor, the line
> 
> const bool useGlobalViewProps = settings->globalViewProps();
> 
> should make sure that 'useGlobalViewProps' is true (remember that we
> changed the setting), and thus, the "const bool useDefaultProps"
> should get the value "false" just before we arrive at the
> commented-out lines again. Therefore, we cannot reach the
> commented-out lines.
> 
> I'm not really sure why that fails on MacOS, but it looks like
> changing the "GlobalViewProps" setting to true the first time the
> constructor is called and then retrieving the "true" value from the
> settings object during the second call of the constructor fails.
> 
> Looking at the generated function "static void setGlobalViewProps(
> bool v )" in dolphin_generalsettings.h,
> 
>    static
>    void setGlobalViewProps( bool v )
>    {
>      if (!self()->isImmutable( QString::fromLatin1( "GlobalViewProps" ) ))
>        self()->mGlobalViewProps = v;
>    }
> 
> 
> I get the impression that one reason why this could fail is that the
> setting is immutable.
> 
> To confirm my theory, could you apply the attached patch and see what
> output it generates in that function? Here I get
> 
> # Check 1: settings->globalViewProps() returns false
> # Check 2: settings->globalViewProps() returns true
> 
> when entering a folder without .directory file, but I would guess that
> it always returns false on MacOS.
> 
> Thanks for your help.
> 
> Best regards,
> Frank
> <DebugViewPropertiesCrash.diff>

_
Kurt Hindenburg
kurt.hindenburg at gmail.com




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20130622/d3585234/attachment.htm>


More information about the kfm-devel mailing list