Last week I posted a followup comment to Bug #8579 in the C::B Berlios database.
There does appear to be a thread safety bug in the code completion plug-in. The
test patch I added seems to be working in that I haven't seen a crash since.
Currently I am only using a small subset of C::B features, so it's possible similar crashes
occur elsewhere in the code. The basic problem seems to be that the wxWidgets library
is not thread safe, and the code completion plug-in was not locking the required mutex
before updating the display. The abort in the cairo code is just a symptom of this.
I am also running a dual cpu box, so the crashes were very frequent.
The problem was tracked down by running C:B under gdb, and doing a backtrace of
all active threads after the crash (more details in the bug comment). You guys could try
a similar technique if you are seeing other cairo/GUI aborts.
I suggested the C::B developers review the patch in case it causes any nasty side effects
with features I am not using yet.
Hope this helps.
Cheers,
Barry.