Hi,
we have some trouble debugging this...
As far as i understand the code, InternalPlatform::GetInstance() is a
singleton (after Meyers, static).
So it shouldn't be possible that there is another InternalPlatform
instance created for a second time. This happens for the first plugin,
'system.bundle'.
After executing the singletons instance's getter, code:
--->
InternalPlatform* InternalPlatform::GetInstance()
{
Poco::Mutex::ScopedLock lock(m_Mutex);
static InternalPlatform instance;
return &instance;
}
<---
...the line 'static InternalPlatform instance;' executes the constructor
of InternalPlatform again. This leads internally to execution of the
base class constructor (Poco::Application), which calls setup(); There,
the assertion fails, because the InternalPlatform has already been
instantiated.
This second call to the InternalPlatforms constructor chain happens in:
--->
void org_blueberry_osgi_Activator::start(ctkPluginContext* context)
line 38:
InternalPlatform::GetInstance()->GetBundle("system.bundle").Cast<SystemBundle>()
<---
The CallStack is attached. Anyone has an idea what is going wrong?
Regards,
Thomas
KernelBase.dll!000007fefd2e3172()
[Frames below may be incorrect and/or missing, no symbols loaded for
KernelBase.dll]
PocoFoundationd.dll!Poco::Debugger::enter() Line 135 C++
PocoFoundationd.dll!Poco::Debugger::enter(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
msg="Assertion violation: _pInstance == 0", const char *
file=0x000007feed779710, int line=122) Line 153 C++
PocoFoundationd.dll!Poco::Bugcheck::assertion(const char *
cond=0x000007feed779760, const char * file=0x000007feed779710, int line=122)
Line 48 + 0x7a bytes C++
PocoUtild.dll!Poco::Util::Application::setup() Line 124 C++
PocoUtild.dll!Poco::Util::Application::Application() Line 91 + 0xd
bytes C++
liborg_blueberry_osgi.dll!berry::InternalPlatform::InternalPlatform()
Line 64 + 0x37 bytes C++
liborg_blueberry_osgi.dll!berry::InternalPlatform::GetInstance() Line
75 + 0x28 bytes C++
>
> liborg_blueberry_osgi.dll!berry::org_blueberry_osgi_Activator::start(ctkPluginContext
> * context=0x0000000002535f30) Line 38 + 0x18 bytes C++
CTKPluginFramework.dll!ctkPluginPrivate::start0() Line 450 C++
CTKPluginFramework.dll!ctkPluginPrivate::finalizeActivation() Line 271
+ 0xd bytes C++
CTKPluginFramework.dll!ctkPlugin::start(const QFlags<enum
ctkPlugin::StartOption> & options={...}) Line 115 C++
liborg_blueberry_osgi.dll!berry::InternalPlatform::main(const
std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > > & args=[0]()) Line 532 + 0x79 bytes C++
PocoUtild.dll!Poco::Util::Application::run() Line 310 + 0x22 bytes
C++
liborg_blueberry_osgi.dll!berry::InternalPlatform::Launch() Line 359
C++
liborg_blueberry_osgi.dll!berry::Starter::Run(int & argc=2, char * *
argv=0x00000000024acc40, Poco::Util::AbstractConfiguration *
config=0x00000000024b7d90) Line 57 C++
ModelGeneration.exe!main(int argc=2, char * * argv=0x00000000024acc40)
Line 57 + 0x1e bytes C++
ModelGeneration.exe!__tmainCRTStartup() Line 582 + 0x19 bytes C
ModelGeneration.exe!mainCRTStartup() Line 399 C
kernel32.dll!0000000076c1652d()
ntdll.dll!0000000076d4c521()
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users