Version: SVN (using KDE 4.4.2) OS: Linux Finaly, made it to compile current git kdevplatform, kdevelop, quanta, php, but can not run. Reproducible: Didn't try quanta(28464)/kdevplatform (sublime) Sublime::MainWindow::loadSettings: loading settings for "code" quanta(28464)/kdevplatform (shell) KDevelop::RunController::RunControllerPrivate::updateCurrentLaunchAction: oops no current action, using first if list is non-empty quanta(28464)/kdevplatform (shell) KDevelop::UiController::addToolView: ASSERT: "doc" in file /opt/kdev/kde4/kdevplatform/shell/documentationcontroller.cpp, line 131 KCrash: Application 'quanta' crashing... sock_file=/home/jay/.kde/socket-jxt4210k/kdeinit4__0 QSocketNotifier: Invalid socket 28 and type 'Read', disabling...
same crash for kdevelop.
backtrace from "assistent": Application: Quanta (quanta), signal: Aborted [Current thread is 1 (Thread 0xb457c710 (LWP 30251))] Thread 4 (Thread 0xb1190b70 (LWP 30252)): #0 0xb7705422 in __kernel_vsyscall () #1 0xb60e3342 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179 #2 0xb615920f in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #3 0xb4e18188 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x8e4eb40) at /opt/kdev/kde4/kdevplatform/language/duchain/duchain.cpp:286 #4 0xb615832e in ?? () from /usr/lib/libQtCore.so.4 #5 0xb60de96e in start_thread (arg=0xb1190b70) at pthread_create.c:300 #6 0xb543ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 3 (Thread 0xae637b70 (LWP 30262)): #0 0xb60e0f64 in __pthread_mutex_lock (mutex=0xb0864c04) at pthread_mutex_lock.c:62 #1 0xb492eb03 in g_main_context_prepare () from /lib/libglib-2.0.so.0 #2 0xb492eee9 in ?? () from /lib/libglib-2.0.so.0 #3 0xb492f4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #4 0xb628660f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0xb6259059 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0xb62594aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #7 0xb61555a8 in QThread::exec() () from /usr/lib/libQtCore.so.4 #8 0xb4f30057 in KDevelop::CompletionWorkerThread::run (this=0x9009490) at /opt/kdev/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:81 #9 0xb615832e in ?? () from /usr/lib/libQtCore.so.4 #10 0xb60de96e in start_thread (arg=0xae637b70) at pthread_create.c:300 #11 0xb543ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 2 (Thread 0xab27eb70 (LWP 30263)): #0 0xb49bde16 in *__GI_clock_gettime (clock_id=-1264836620, tp=0xab27dfb8) at ../sysdeps/unix/clock_gettime.c:100 #1 0xb62836fb in ?? () from /usr/lib/libQtCore.so.4 #2 0xb6288825 in ?? () from /usr/lib/libQtCore.so.4 #3 0xb628886a in ?? () from /usr/lib/libQtCore.so.4 #4 0xb6286818 in ?? () from /usr/lib/libQtCore.so.4 #5 0xb62868a5 in ?? () from /usr/lib/libQtCore.so.4 #6 0xb492eaca in g_main_context_prepare () from /lib/libglib-2.0.so.0 #7 0xb492eee9 in ?? () from /lib/libglib-2.0.so.0 #8 0xb492f4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #9 0xb628660f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #10 0xb6259059 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #11 0xb62594aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #12 0xb61555a8 in QThread::exec() () from /usr/lib/libQtCore.so.4 #13 0xb6238c1b in ?? () from /usr/lib/libQtCore.so.4 #14 0xb615832e in ?? () from /usr/lib/libQtCore.so.4 #15 0xb60de96e in start_thread (arg=0xab27eb70) at pthread_create.c:300 #16 0xb543ca4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb457c710 (LWP 30251)): [KCrash Handler] #6 0xb7705422 in __kernel_vsyscall () #7 0xb5399651 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #8 0xb539ca82 in *__GI_abort () at abort.c:92 #9 0xb614f2dc in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4 #10 0xb614f4aa in ?? () from /usr/lib/libQtCore.so.4 #11 0xb614f5b9 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4 #12 0xb614f645 in qt_assert(char const*, char const*, int) () from /usr/lib/libQtCore.so.4 #13 0xb7417147 in KDevelop::DocumentationController::documentationProviders (this=0x8c2c140) at /opt/kdev/kde4/kdevplatform/shell/documentationcontroller.cpp:131 #14 0xb741998f in ProvidersModel (this=0x92e8fe0, parent=0x92e8a58) at /opt/kdev/kde4/kdevplatform/shell/documentationview.cpp:182 #15 0xb7418beb in DocumentationView (this=0x92e7220, parent=0x92dee98) at /opt/kdev/kde4/kdevplatform/shell/documentationview.cpp:55 #16 0xb7417722 in DocumentationViewFactory::create (this=0x8ba8130, parent=0x92dee98) at /opt/kdev/kde4/kdevplatform/shell/documentationcontroller.cpp:47 #17 0xb73cf2bb in KDevelop::UiToolViewFactory::create (this=0x92de250, doc=0x9291800, parent=0x92dee98) at /opt/kdev/kde4/kdevplatform/shell/uicontroller.cpp:150 #18 0xb4d55afd in Sublime::ToolDocument::createViewWidget (this=0x9291800, parent=0x92dee98) at /opt/kdev/kde4/kdevplatform/sublime/tooldocument.cpp:60 #19 0xb4d55fb9 in Sublime::View::createWidget (this=0x92ded60, parent=0x92dee98) at /opt/kdev/kde4/kdevplatform/sublime/view.cpp:90 #20 0xb4d55f36 in Sublime::View::widget (this=0x92ded60, parent=0x92dee98) at /opt/kdev/kde4/kdevplatform/sublime/view.cpp:82 #21 0xb4d5b726 in Sublime::IdealMainWidget::addView (this=0x90fb050, area=Qt::RightDockWidgetArea, view=0x92ded60) at /opt/kdev/kde4/kdevplatform/sublime/ideal.cpp:622 #22 0xb4d4e59a in Sublime::MainWindowPrivate::IdealToolViewCreator::operator() (this=0xbfd5939c, view=0x92ded60, position=Sublime::Right) at /opt/kdev/kde4/kdevplatform/sublime/mainwindow_p.cpp:190 #23 0xb4d53331 in Sublime::Area::walkToolViews<Sublime::MainWindowPrivate::IdealToolViewCreator> (this=0x8b08d40, op=..., positions=...) at /opt/kdev/kde4/kdevplatform/sublime/areawalkers.h:59 #24 0xb4d50562 in Sublime::MainWindowPrivate::toolViewAdded (this=0x8b0d170, position=Sublime::Right) at /opt/kdev/kde4/kdevplatform/sublime/mainwindow_p.cpp:545 #25 0xb4d4968b in Sublime::MainWindow::qt_metacall (this=0x8ae8f50, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0xbfd594c4) at /opt/kdev/.build/kde4/kdevplatform/sublime/mainwindow.moc:126 #26 0xb73b90cf in KDevelop::MainWindow::qt_metacall (this=0x8ae8f50, _c=QMetaObject::InvokeMetaMethod, _id=65, _a=0xbfd594c4) at /opt/kdev/.build/kde4/kdevplatform/shell/mainwindow.moc:90 #27 0xb625fc9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #28 0xb626e3d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #29 0xb4d38abb in Sublime::Area::toolViewAdded (this=0x8b08d40, _t1=0x92ded60, _t2=Sublime::Right) at /opt/kdev/.build/kde4/kdevplatform/sublime/area.moc:136 #30 0xb4d36f13 in Sublime::Area::addToolView (this=0x8b08d40, view=0x92ded60, defaultPosition=Sublime::Right) at /opt/kdev/kde4/kdevplatform/sublime/area.cpp:240 #31 0xb73cdb09 in KDevelop::UiController::addToolViewToArea (this=0x8afe460, factory=0x8ba8130, doc=0x9291800, area=0x8b08d40) at /opt/kdev/kde4/kdevplatform/shell/uicontroller.cpp:593 #32 0xb73cc280 in KDevelop::UiController::addToolView (this=0x8afe460, name=..., factory=0x8ba8130) at /opt/kdev/kde4/kdevplatform/shell/uicontroller.cpp:323 #33 0xb7416b59 in KDevelop::DocumentationController::initialize (this=0x8c2c140) at /opt/kdev/kde4/kdevplatform/shell/documentationcontroller.cpp:67 #34 0xb73c93f2 in KDevelop::CorePrivate::initialize (this=0x894b9c8, mode=KDevelop::Core::Default, session=...) at /opt/kdev/kde4/kdevplatform/shell/core.cpp:215 #35 0xb73c9962 in KDevelop::Core::initialize (splash=0x8ad84c0, mode=KDevelop::Core::Default, session=...) at /opt/kdev/kde4/kdevplatform/shell/core.cpp:244 #36 0x0804c35d in main (argc=1, argv=0xbfd59a74) at /opt/kdev/kde4/quanta/src/main.cpp:189
$ git diff diff --git a/shell/documentationcontroller.cpp b/shell/documentationcontroller.cpp index 9fa6544..68aa68b 100644 --- a/shell/documentationcontroller.cpp +++ b/shell/documentationcontroller.cpp @@ -127,7 +127,7 @@ QList< IDocumentationProvider* > DocumentationController::documentationProviders foreach(IPlugin* p, plugins) { - IDocumentationProvider *doc=p->extension<IDocumentationProvider>(); + IDocumentationProvider *doc=dynamic_cast<IDocumentationProvider*>(p); Q_ASSERT(doc); ret.append(doc); } http://gitorious.org/kdevelop/kdevplatform/commit/4dd5448d52a2118c78413d6361d6d23ec539e76a and quanta is ALIVE :) (sort of... but that is another story ... I mean BUG :) )
this should not happen, all documentation plugins proplery state: Q_INTERFACES( KDevelop::IDocumentationProvider ) if you are sure your kdevplatform + kdevelop installation are up2date (current git master), you will have to attach a debugger and show us some information about which plugin fails with p->extension. Bye
quanta(30189)/kdevplatform (shell) KDevelop::UiController::addToolView: ASSERT: "doc" in file /opt/kdev/kde4/kdevplatform/shell/documentationcontroller.cpp, line 131 KCrash: Application 'quanta' crashing... /kdevplatform]$ git pull --rebase Current branch master is up to date. /kdevelop]$ git pull --rebase Current branch master is up to date. /quanta]$ git pull --rebase Current branch master is up to date. If you need any debug info, than I'm providing. please write exactly how do I get it. I'm PHP, not a C++ developer :) Debug from crash assistant : Application: Quanta (quanta), signal: Aborted [Current thread is 1 (Thread 0xb77da710 (LWP 30189))] Thread 5 (Thread 0xb55c0b70 (LWP 30192)): #0 0x00367422 in __kernel_vsyscall () #1 0x00d9e342 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179 #2 0x01ae220f in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #3 0x0174c188 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x904e898) at /opt/kdev/kde4/kdevplatform/language/duchain/duchain.cpp:286 #4 0x01ae132e in ?? () from /usr/lib/libQtCore.so.4 #5 0x00d9996e in start_thread (arg=0xb55c0b70) at pthread_create.c:300 #6 0x0765aa4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 4 (Thread 0xb4db8b70 (LWP 30194)): #0 0x00367422 in __kernel_vsyscall () #1 0x00d9e015 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122 #2 0x01ae2287 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #3 0x0053e870 in ?? () from /usr/lib/libthreadweaver.so.4 #4 0x0054138c in ?? () from /usr/lib/libthreadweaver.so.4 #5 0x0053d27b in ?? () from /usr/lib/libthreadweaver.so.4 #6 0x00541482 in ?? () from /usr/lib/libthreadweaver.so.4 #7 0x0053e4d3 in ?? () from /usr/lib/libthreadweaver.so.4 #8 0x0053f51e in ?? () from /usr/lib/libthreadweaver.so.4 #9 0x0053fc3b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #10 0x01ae132e in ?? () from /usr/lib/libQtCore.so.4 #11 0x00d9996e in start_thread (arg=0xb4db8b70) at pthread_create.c:300 #12 0x0765aa4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 3 (Thread 0xb43ffb70 (LWP 30204)): #0 0x00750e16 in *__GI_clock_gettime (clock_id=7688180, tp=0xb43fefd8) at ../sysdeps/unix/clock_gettime.c:100 #1 0x01c0c6fb in ?? () from /usr/lib/libQtCore.so.4 #2 0x01c11825 in ?? () from /usr/lib/libQtCore.so.4 #3 0x01c1186a in ?? () from /usr/lib/libQtCore.so.4 #4 0x01c0f818 in ?? () from /usr/lib/libQtCore.so.4 #5 0x01c0f8a5 in ?? () from /usr/lib/libQtCore.so.4 #6 0x032b3aca in g_main_context_prepare () from /lib/libglib-2.0.so.0 #7 0x032b3ee9 in ?? () from /lib/libglib-2.0.so.0 #8 0x032b44b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #9 0x01c0f60f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #10 0x01be2059 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #11 0x01be24aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #12 0x01ade5a8 in QThread::exec() () from /usr/lib/libQtCore.so.4 #13 0x01864057 in KDevelop::CompletionWorkerThread::run (this=0x92621e8) at /opt/kdev/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:81 #14 0x01ae132e in ?? () from /usr/lib/libQtCore.so.4 #15 0x00d9996e in start_thread (arg=0xb43ffb70) at pthread_create.c:300 #16 0x0765aa4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 2 (Thread 0xb1bb3b70 (LWP 30205)): #0 0x00750e16 in *__GI_clock_gettime (clock_id=7688180, tp=0xb1bb2fb8) at ../sysdeps/unix/clock_gettime.c:100 #1 0x01c0c6fb in ?? () from /usr/lib/libQtCore.so.4 #2 0x01c11825 in ?? () from /usr/lib/libQtCore.so.4 #3 0x01c1186a in ?? () from /usr/lib/libQtCore.so.4 #4 0x01c0f818 in ?? () from /usr/lib/libQtCore.so.4 #5 0x01c0f8a5 in ?? () from /usr/lib/libQtCore.so.4 #6 0x032b3aca in g_main_context_prepare () from /lib/libglib-2.0.so.0 #7 0x032b3ee9 in ?? () from /lib/libglib-2.0.so.0 #8 0x032b44b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #9 0x01c0f60f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #10 0x01be2059 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #11 0x01be24aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #12 0x01ade5a8 in QThread::exec() () from /usr/lib/libQtCore.so.4 #13 0x01bc1c1b in ?? () from /usr/lib/libQtCore.so.4 #14 0x01ae132e in ?? () from /usr/lib/libQtCore.so.4 #15 0x00d9996e in start_thread (arg=0xb1bb3b70) at pthread_create.c:300 #16 0x0765aa4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb77da710 (LWP 30189)): [KCrash Handler] #6 0x00367422 in __kernel_vsyscall () #7 0x075b7651 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #8 0x075baa82 in *__GI_abort () at abort.c:92 #9 0x01ad82dc in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4 #10 0x01ad84aa in ?? () from /usr/lib/libQtCore.so.4 #11 0x01ad85b9 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4 #12 0x01ad8645 in qt_assert(char const*, char const*, int) () from /usr/lib/libQtCore.so.4 #13 0x004db1d3 in KDevelop::DocumentationController::documentationProviders (this=0x8d918b0) at /opt/kdev/kde4/kdevplatform/shell/documentationcontroller.cpp:131 #14 0x003f3181 in ProvidersModel (this=0x95a21c0, parent=0x95a2158) at /opt/kdev/kde4/kdevplatform/documentation/documentationview.cpp:202 #15 0x003f226c in DocumentationView (this=0x9599880, parent=0x95958e0) at /opt/kdev/kde4/kdevplatform/documentation/documentationview.cpp:61 #16 0x004db7ae in DocumentationViewFactory::create (this=0x8d5e610, parent=0x95958e0) at /opt/kdev/kde4/kdevplatform/shell/documentationcontroller.cpp:47 #17 0x00493347 in KDevelop::UiToolViewFactory::create (this=0x93a6c90, doc=0x9595058, parent=0x95958e0) at /opt/kdev/kde4/kdevplatform/shell/uicontroller.cpp:150 #18 0x00d6dafd in Sublime::ToolDocument::createViewWidget (this=0x9595058, parent=0x95958e0) at /opt/kdev/kde4/kdevplatform/sublime/tooldocument.cpp:60 #19 0x00d6dfb9 in Sublime::View::createWidget (this=0x95957a8, parent=0x95958e0) at /opt/kdev/kde4/kdevplatform/sublime/view.cpp:90 #20 0x00d6df36 in Sublime::View::widget (this=0x95957a8, parent=0x95958e0) at /opt/kdev/kde4/kdevplatform/sublime/view.cpp:82 #21 0x00d73726 in Sublime::IdealMainWidget::addView (this=0x9367858, area=Qt::RightDockWidgetArea, view=0x95957a8) at /opt/kdev/kde4/kdevplatform/sublime/ideal.cpp:622 #22 0x00d6659a in Sublime::MainWindowPrivate::IdealToolViewCreator::operator() (this=0xbfa6439c, view=0x95957a8, position=Sublime::Right) at /opt/kdev/kde4/kdevplatform/sublime/mainwindow_p.cpp:190 #23 0x00d6b331 in Sublime::Area::walkToolViews<Sublime::MainWindowPrivate::IdealToolViewCreator> (this=0x8d1a000, op=..., positions=...) at /opt/kdev/kde4/kdevplatform/sublime/areawalkers.h:59 #24 0x00d68562 in Sublime::MainWindowPrivate::toolViewAdded (this=0x8d1edd8, position=Sublime::Right) at /opt/kdev/kde4/kdevplatform/sublime/mainwindow_p.cpp:545 #25 0x00d6168b in Sublime::MainWindow::qt_metacall (this=0x8d10f90, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0xbfa644c4) at /opt/kdev/.build/kde4/kdevplatform/sublime/mainwindow.moc:126 #26 0x0047d15b in KDevelop::MainWindow::qt_metacall (this=0x8d10f90, _c=QMetaObject::InvokeMetaMethod, _id=65, _a=0xbfa644c4) at /opt/kdev/.build/kde4/kdevplatform/shell/mainwindow.moc:90 #27 0x01be8c9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #28 0x01bf73d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #29 0x00d50abb in Sublime::Area::toolViewAdded (this=0x8d1a000, _t1=0x95957a8, _t2=Sublime::Right) at /opt/kdev/.build/kde4/kdevplatform/sublime/area.moc:136 #30 0x00d4ef13 in Sublime::Area::addToolView (this=0x8d1a000, view=0x95957a8, defaultPosition=Sublime::Right) at /opt/kdev/kde4/kdevplatform/sublime/area.cpp:240 #31 0x00491b95 in KDevelop::UiController::addToolViewToArea (this=0x8d10150, factory=0x8d5e610, doc=0x9595058, area=0x8d1a000) at /opt/kdev/kde4/kdevplatform/shell/uicontroller.cpp:593 #32 0x0049030c in KDevelop::UiController::addToolView (this=0x8d10150, name=..., factory=0x8d5e610) at /opt/kdev/kde4/kdevplatform/shell/uicontroller.cpp:323 #33 0x004dabe5 in KDevelop::DocumentationController::initialize (this=0x8d918b0) at /opt/kdev/kde4/kdevplatform/shell/documentationcontroller.cpp:67 #34 0x0048d47e in KDevelop::CorePrivate::initialize (this=0x8d02380, mode=KDevelop::Core::Default, session=...) at /opt/kdev/kde4/kdevplatform/shell/core.cpp:215 #35 0x0048d9ee in KDevelop::Core::initialize (splash=0x8b5d3b8, mode=KDevelop::Core::Default, session=...) at /opt/kdev/kde4/kdevplatform/shell/core.cpp:244 #36 0x0804c35d in main (argc=1, argv=0xbfa64a74) at /opt/kdev/kde4/quanta/src/main.cpp:189
I added the interface especification in my last php-docs commit.
damn... didn't know that php-docs was so interconnected ... sorry, hadn't compiled that few days. Thanks, works now.