Help a mate: an extremely strange bug on GCC/ld ?

Rafael Fernández López ereslibre at kde.org
Fri Dec 5 01:01:04 GMT 2008


Hi,

I am working on a complete rewrite of KCategorizedView. I am making internals 
far more understandable from the older. I am also removing _all_ hacks that I 
had, and that was making it less optimum as it could be.

On my work, I have hit a really annoying bug somewhere on the chain (gcc, 
ld... whatever).

I wonder if you have hit it before:

I have:

class KCategorizedView
	: public QListView
{
...
protected:
	...
	virtual void rowsAboutToBeRemoved(const QModelIndex&, int, int);
	...
...
};

I had to do some stuff with my internal information when some rows are going to 
be removed. I noticed things weren't working correctly, and set a break on 
this method. I found out that it wasn't being executed. Ever.

Debugging with GDB I found out that the signal on the model was actually being 
emitted, and looking at qabstractitemview.cpp it seemed that the signal was 
correctly being connected to the slot.

So I started to worry. I set up two breakpoints at this point:

break QListView::rowsAboutToBeRemoved
break KCategorizedView::rowsAboutToBeRemoved

When setting the second breakpoint I was getting a strange error on GDB that 
was disturbing me (and had to close GDB):

warning: (Internal error: pc 0xWHATEVER in read in psymtab, but not in 
symtab.)

So I decided to only set the breakpoint on QListView::rowsAboutToBeRemoved. I 
could hit it.

I double checked, triple checked... that the method is correctly written into 
KCategorizedView, on the right ambit (protected) and all those things.

What is going on here guys ?


Regards,
Rafael Fernández López.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20081205/cc6f91da/attachment.sig>


More information about the kde-core-devel mailing list