PathFinder.cpp:56: static PathFinder* PathFinder::instance()
Status: Beta
Brought to you by:
u-voelkel
$ 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
It works fine on rev 689
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
A small correction:
rev 689 - works fine
rev 691 - broken
Apparently the change was introduced in 690.
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;