#207 PathFinder.cpp:56: static PathFinder* PathFinder::instance()

open
nobody
None
5
2011-11-21
2011-11-21
dgfdsgsd
No

$ fuppes -a $PWD -c fuppes.cfg
FUPPES - 0.655
the Free UPnP Entertainment Service
http://fuppes.ulrich-voelkel.de

fuppes: lib/Configuration/PathFinder.cpp:56: static PathFinder* PathFinder::instance(): Assertion `m_instance != __null' failed.
Aborted

at revision 891

Discussion

  • dgfdsgsd

    dgfdsgsd - 2011-11-21

    It works fine on rev 689

     
  • WidiGMX

    WidiGMX - 2011-11-22

    I got the same error - but now on rev 691!

    $ fuppes -l 3 -m fuppes.log -a /etc/fuppes/
    FUPPES - 0.691
    the Free UPnP Entertainment Service
    http://fuppes.ulrich-voelkel.de

    fuppes: lib/Configuration/PathFinder.cpp:56: static PathFinder* PathFinder::instance(): Assertion `m_instance != __null' failed.
    Aborted

    Please let me know, if I can assist you in any way. The log file is empty.
    I am a software engineer - but new in the area of embedded ARM processors. The system is running on a Seagate Goflex Net - an armv5tel architecture - under debian squeeze linux. My first attempt was to install the GDB and to debug the application - but:
    "/root/projects/fuppes/trunk/src/fuppes": not in executable format: File format not recognized

    Thanks for your work - and please tell me, what I can do to solve this issue.

    Regards
    Widi

     
  • dgfdsgsd

    dgfdsgsd - 2011-11-22

    A small correction:
    rev 689 - works fine
    rev 691 - broken

    Apparently the change was introduced in 690.

     
  • Konstantin Svist

    Someone is trying to access uninitialized singleton class member. Let's make it static:

    Index: src/lib/Configuration/PathFinder.cpp

    --- src/lib/Configuration/PathFinder.cpp (revision 691)
    +++ src/lib/Configuration/PathFinder.cpp (working copy)
    @@ -36,6 +36,7 @@

    PathFinder* PathFinder::m_instance = NULL;
    +std::vector<std::string> PathFinder::m_configPaths;

    void PathFinder::init(std::string applicationDir) // static
    @@ -175,7 +176,7 @@
    void PathFinder::addConfigPath(std::string path) // static
    {
    if(!path.empty())
    - instance()->m_configPaths.insert(instance()->m_configPaths.begin(), path);
    + m_configPaths.insert(m_configPaths.begin(), path);
    }

    string PathFinder::findInDataPath(std::string fileName, int flags /*= File::Readable*/, std::string extra /*= ""*/)
    Index: src/lib/Configuration/PathFinder.h
    ===================================================================
    --- src/lib/Configuration/PathFinder.h (revision 691)
    +++ src/lib/Configuration/PathFinder.h (working copy)
    @@ -76,7 +76,7 @@
    std::string devicesPath, vfolderPath; // the extra paths for device files and vfolder files

    std::vector<std::string> m_dataPaths;
    - std::vector<std::string> m_configPaths;
    + static std::vector<std::string> m_configPaths;

    std::string m_dataDir;
    std::string m_thumbnailsDir;

     

Log in to post a comment.