pan-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Pan-users] Weird bug with gcc-5.2's libstdc++


From: Zan Lynx
Subject: Re: [Pan-users] Weird bug with gcc-5.2's libstdc++
Date: Wed, 12 Aug 2015 18:03:57 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0

On 08/12/2015 04:01 PM, Holger Hoffstätte wrote:
> 
> It gets weirder..
> 
> On Wed, 12 Aug 2015 21:43:08 +0000, Holger Hoffstätte wrote:
> 
>> On startup it can somehow no longer properly locate the ~/.pan2
>> directory and always decides to create an empty newsrc-1 in my ~.
> 
> Actually it creates the newsrc-1 in the $CWD. Apparently the newly built 
> binary (using it right now) works fine when I start it in the ~/.pan2 
> directory, where it can find the old newsrc and all settings. Why the old 
> version works without any $CWD (from an xfce launcher) remains a mystery 
> for now.
> 
> Suggestions welcome..


>From a quick peek at the source code I don't see how it could be a
problem with libstdc++. Instead I'd look for problems with glib.
Specifically g_get_home_dir() and g_build_filename().

Maybe your pan linked to the wrong version of glib somehow?

Or it could be a faulty assumption that the char* returned remains
valid. Most places in the code assign to a std::string which makes a
copy and is great. Other places assign to a char* and I am not sure that
the pointed-to value remains valid.

I checked and the glib docs say g_getenv()'s value remains valid only
until the next call to a list of functions.

A change in how GCC compiles could be responsible for causing a
temporary pointer to get overwritten which didn't happen with an older
compiler.

Or maybe you did something like export PAN_HOME without setting it.
Because I see in the code that PAN_HOME overrides everything else, and
it doesn't seem to check it for being blank.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]