ASSERT: "bytes <= bufferSize" in file tools/qringbuffer.cpp, line 74

Linus Torvalds torvalds at linux-foundation.org
Tue Jun 13 03:09:51 PDT 2017


I seem to be the only one getting this, and I don't get it reliably
either. It seems to be timing-related somehow, because it never
happens under gdb, but I *can* catch it with a core-dump and then get
gdb to show me where it is. Backtrace appended in case it makes
anybody go "yeah".

This may be because I'm doing something wrong when I had to build my
own Qt-5.9 (for doing BT). It seems to be some interaction with
Marble.

Anybody have any ideas? If it happens, it happens at startup - and if
it doesn't happen, everything seems to be all good ever after. So my
self-built subsurface generally _works_, it just doesn't always start
up reliably.

In gdb, I can also show the values:

  (gdb) p bytes
  $1 = 115
  (gdb) p bufferSize
  $2 = 0

Anybody? Thiago, Tomaz, any ideas in particular?

               Linus

--
#0  0x00007fa0700db765 in raise () from /lib64/libc.so.6
#1  0x00007fa0700dd36a in abort () from /lib64/libc.so.6
#2  0x00007fa070aa0da4 in qt_message_fatal (context=..., message=...)
at global/qlogging.cpp:1690
#3  0x00007fa070aa1761 in QMessageLogger::fatal
(this=this at entry=0x7ffd005f7350, msg=msg at entry=0x7fa070d6dde0 "ASSERT:
\"%s\" in file %s, line %d") at global/qlogging.cpp:796
#4  0x00007fa070a9a8d7 in qt_assert
(assertion=assertion at entry=0x7fa070d7933e "bytes <= bufferSize",
file=file at entry=0x7fa070d79328 "tools/qringbuffer.cpp",
line=line at entry=74)
    at global/qglobal.cpp:3044
#5  0x00007fa070b31254 in QRingBuffer::free (this=0x129b728,
bytes=bytes at entry=115) at tools/qringbuffer.cpp:74
#6  0x00007fa070bb041e in QIODevicePrivate::QRingBufferRef::free
(bytes=115, this=0x129b5d8) at
../../include/QtCore/5.9.0/QtCore/private/../../../../../src/corelib/io/qiodevice_p.h:100
#7  QFileDevice::flush (this=<optimized out>) at io/qfiledevice.cpp:294
#8  0x00007fa070bbe8fc in QTextStreamPrivate::flushWriteBuffer
(this=0x12bdcb0) at io/qtextstream.cpp:609
#9  0x00007fa070bbe9de in QTextStream::~QTextStream (this=0x12cf080,
__in_chrg=<optimized out>) at io/qtextstream.cpp:1164
#10 0x00007fa070b9de60 in QDebug::Stream::~Stream (this=0x12cf080,
__in_chrg=<optimized out>) at io/qdebug.h:69
#11 QDebug::~QDebug (this=<optimized out>, __in_chrg=<optimized out>)
at io/qdebug.cpp:158
#12 0x00007fa07658669e in Marble::FileManager::addFile(QString const&,
QString const&, Marble::GeoDataStyle const*, Marble::DocumentRole,
bool) ()
   from /home/torvalds/src/install-root/lib/libssrfmarblewidget.so.21
#13 0x00007fa0764aa6f0 in
Marble::MarbleModel::setMapTheme(Marble::GeoSceneDocument*) () from
/home/torvalds/src/install-root/lib/libssrfmarblewidget.so.21
#14 0x00007fa0764abe8b in Marble::MarbleModel::setMapThemeId(QString
const&) () from
/home/torvalds/src/install-root/lib/libssrfmarblewidget.so.21
#15 0x00000000006bd05c in GlobeGPS::GlobeGPS (this=0x1282940,
parent=0x0) at /home/torvalds/src/subsurface/desktop-widgets/globe.cpp:67
#16 0x00000000006bccf4 in GlobeGPS::instance () at
/home/torvalds/src/subsurface/desktop-widgets/globe.cpp:30
#17 0x0000000000658fbb in MainTab::MainTab (this=0x11acf90,
parent=0x0) at /home/torvalds/src/subsurface/desktop-widgets/tab-widgets/maintab.cpp:75
#18 0x00000000005a7c43 in MainWindow::MainWindow (this=0x10d5850) at
/home/torvalds/src/subsurface/desktop-widgets/mainwindow.cpp:100
#19 0x00000000005a7672 in init_ui () at
/home/torvalds/src/subsurface/subsurface-desktop-helper.cpp:36
#20 0x00000000005a63e9 in main (argc=1, argv=0x7ffd005f8f28) at
/home/torvalds/src/subsurface/subsurface-desktop-main.cpp:91


More information about the subsurface mailing list