crash while searching z3950.gbv.de

Jens Seidel jensseidel at users.sf.net
Mon Apr 2 15:18:14 MDT 2007


On Mon, Apr 02, 2007 at 09:01:10AM +0200, Jens Seidel wrote:
> On Sun, Apr 01, 2007 at 05:22:01PM -0700, Robby Stephenson wrote:
> > On Sunday 01 April 2007, Jens Seidel wrote:
> > > I tried to reproduce this in a valgrind session but have to confess I do
> > > not know where to insert these settings. Choosing "Data sources" -> "New"
> > > in the config dialog I cannot insert these settings.
> > 
> > You don't want to use a preset server, so uncheck that box. Then all the 
> > others get enabled. The search terms get entered in the Internet Search 
> > dialog after selecting the source.
> 
> Will try it.

Another call stack:

==3762==
==3762== Conditional jump or move depends on uninitialised value(s)
==3762==    at 0x813825B: Tellico::Fetch::Manager::stop() (fetchmanager.cpp:191)
==3762==    by 0x809D2F2: Tellico::FetchDialog::slotClearClicked() (fetchdialog.cpp:286)
==3762==    by 0x809D6EF: Tellico::FetchDialog::qt_invoke(int, QUObject*) (fetchdialog.moc:135)
==3762==    by 0x549ED4E: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/libqt-mt.so.3.3.7)
==3762==    by 0x549F7DF: QObject::activate_signal(int) (in /usr/lib/libqt-mt.so.3.3.7)
==3762==    by 0x5830DE6: QButton::clicked() (in /usr/lib/libqt-mt.so.3.3.7)
==3762==    by 0x553BCF5: QButton::mouseReleaseEvent(QMouseEvent*) (in /usr/lib/libqt-mt.so.3.3.7)
==3762==    by 0x54D56EF: QWidget::event(QEvent*) (in /usr/lib/libqt-mt.so.3.3.7)
==3762==    by 0x5436C25: QApplication::internalNotify(QObject*, QEvent*) (in /usr/lib/libqt-mt.so.3.3.7)
==3762==    by 0x5438DC8: QApplication::notify(QObject*, QEvent*) (in /usr/lib/libqt-mt.so.3.3.7)
==3762==    by 0x504AE0D: KApplication::notify(QObject*, QEvent*) (in /usr/lib/libkdecore.so.4.2.0)
==3762==    by 0x53CA494: QApplication::sendSpontaneousEvent(QObject*, QEvent*) (in /usr/lib/libqt-mt.so.3.3.7)

I got this during playing with the Online Search dialog. I think the last action was
clicking on "Delete". But probably fast clicking on Search/Stop results in this bug.

void Manager::stop() {
//  myDebug() << "Manager::stop()" << endl;
  for(FetcherVec::Iterator it = m_fetchers.begin(); it != m_fetchers.end(); ++it) {
    if(it->isSearching()) {
      it->stop();
    }
  }

Could it be related to the fact that the iterator becomes invalid once you call
it->stop()? Or does the stop removes the fetcher from m_fetchers? This would
be bad. Reverting the loop (from last to first) could also help not to miss a
fetcher.

I got also:
tellico: Manager::stop() - count should be 0!

The original mail is still confusing to me:
> Server: z3950.gbv.de
> Port: 20010 (20012 for UTF-8)

I can enter this in Settings->Configure Tellico...->Data Sources->New->
Source type: SRU Server

> database: stabikat (same result with gvk)
> character set: iso-8891-1
> user: 999
> pass: abc

These fields are not used anywhere!?

Jens



More information about the tellico-users mailing list