← Back to team overview

mudlet-makers team mailing list archive

[Bug 1243109] Re: Mudlet crashes when too many lines are deleted to start of buffer

 

** Summary changed:

- Mudlet crashes when lines are deleted from the buffer to beginning
+ Mudlet crashes when too many lines are deleted to start of buffer

** Description changed:

- Had a script go haywire and keep deleting lines in the buffer,
- eventually reaching the top. Shortly after it does so, Mudlet crashes.
+ Open a profile, create a trigger with the following code and make it run
+ to crash Mudlet:
+ 
+ local startline = getLineNumber()
+ for i = 1, 5000 do
+   deleteLine()
+   moveCursor(0, startline-i)
+ end
  
  Crashed on the assertion:
  
  inline T &QList<T>::operator[](int i)
  { Q_ASSERT_X(i >= 0 && i < p.size(), "QList<T>::operator[]", "index out of range");
-   detach(); return reinterpret_cast<Node *>(p.at(i))->t(); }
+   detach(); return reinterpret_cast<Node *>(p.at(i))->t(); }
  
- Happens everytime, but it is part of a much larger script - I'll see if
- I can get more detail if this backtrace isn't enough.
+ Happens everytime.
  
  Stacktrace:
  
- 0	__GI_raise	raise.c	64	0x7ffff420b425	
- 1	__GI_abort	abort.c	91	0x7ffff420eb8b	
- 2	QMessageLogger::fatal(char const*, ...) const	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff537368e	
- 3	qt_assert_x(char const*, char const*, char const*, int)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5370484	
- 4	QList<bool>::operator[]	qlist.h	460	0x608d0e	
- 5	operator[]	qlist.h	460	0x60b315	
- 6	TBuffer::wrap	TBuffer.cpp	2751	0x60b315	
- 7	TBuffer::translateToPlainText	TBuffer.cpp	1893	0x600ac4	
- 8	TConsole::printOnDisplay	TConsole.cpp	1107	0x434dd3	
- 9	postData	ctelnet.cpp	1356	0x44f953	
- 10	cTelnet::gotPrompt	ctelnet.cpp	1281	0x44f953	
- 11	cTelnet::handle_socket_signal_readyRead	ctelnet.cpp	1773	0x458476	
- 12	cTelnet::qt_static_metacall	moc_ctelnet.cpp	112	0x66cffd	
- 13	QMetaObject::activate(QObject*, int, int, void**)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5572261	
- 14	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60a0adf	
- 15	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60ab881	
- 16	QApplicationPrivate::notify_helper(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff6467b54	
- 17	QApplication::notify(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff646afe6	
- 18	QCoreApplication::notifyInternal(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff554add4	
- 19	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff55949f6	
- 20	g_main_context_dispatch	/lib/x86_64-linux-gnu/libglib-2.0.so.0		0x7ffff388cd13	
+ 0	__GI_raise	raise.c	64	0x7ffff420b425
+ 1	__GI_abort	abort.c	91	0x7ffff420eb8b
+ 2	QMessageLogger::fatal(char const*, ...) const	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff537368e
+ 3	qt_assert_x(char const*, char const*, char const*, int)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5370484
+ 4	QList<bool>::operator[]	qlist.h	460	0x608d0e
+ 5	operator[]	qlist.h	460	0x60b315
+ 6	TBuffer::wrap	TBuffer.cpp	2751	0x60b315
+ 7	TBuffer::translateToPlainText	TBuffer.cpp	1893	0x600ac4
+ 8	TConsole::printOnDisplay	TConsole.cpp	1107	0x434dd3
+ 9	postData	ctelnet.cpp	1356	0x44f953
+ 10	cTelnet::gotPrompt	ctelnet.cpp	1281	0x44f953
+ 11	cTelnet::handle_socket_signal_readyRead	ctelnet.cpp	1773	0x458476
+ 12	cTelnet::qt_static_metacall	moc_ctelnet.cpp	112	0x66cffd
+ 13	QMetaObject::activate(QObject*, int, int, void**)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5572261
+ 14	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60a0adf
+ 15	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60ab881
+ 16	QApplicationPrivate::notify_helper(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff6467b54
+ 17	QApplication::notify(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff646afe6
+ 18	QCoreApplication::notifyInternal(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff554add4
+ 19	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff55949f6
+ 20	g_main_context_dispatch	/lib/x86_64-linux-gnu/libglib-2.0.so.0		0x7ffff388cd13
  ...	<More>

** Changed in: mudlet
    Milestone: None => 3.0

** Changed in: mudlet
       Status: New => Confirmed

** Description changed:

  Open a profile, create a trigger with the following code and make it run
  to crash Mudlet:
  
  local startline = getLineNumber()
  for i = 1, 5000 do
-   deleteLine()
-   moveCursor(0, startline-i)
+   deleteLine()
+   moveCursor(0, startline-i)
  end
  
  Crashed on the assertion:
  
  inline T &QList<T>::operator[](int i)
  { Q_ASSERT_X(i >= 0 && i < p.size(), "QList<T>::operator[]", "index out of range");
    detach(); return reinterpret_cast<Node *>(p.at(i))->t(); }
  
  Happens everytime.
  
  Stacktrace:
  
- 0	__GI_raise	raise.c	64	0x7ffff420b425
- 1	__GI_abort	abort.c	91	0x7ffff420eb8b
- 2	QMessageLogger::fatal(char const*, ...) const	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff537368e
- 3	qt_assert_x(char const*, char const*, char const*, int)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5370484
- 4	QList<bool>::operator[]	qlist.h	460	0x608d0e
- 5	operator[]	qlist.h	460	0x60b315
- 6	TBuffer::wrap	TBuffer.cpp	2751	0x60b315
- 7	TBuffer::translateToPlainText	TBuffer.cpp	1893	0x600ac4
- 8	TConsole::printOnDisplay	TConsole.cpp	1107	0x434dd3
- 9	postData	ctelnet.cpp	1356	0x44f953
- 10	cTelnet::gotPrompt	ctelnet.cpp	1281	0x44f953
- 11	cTelnet::handle_socket_signal_readyRead	ctelnet.cpp	1773	0x458476
- 12	cTelnet::qt_static_metacall	moc_ctelnet.cpp	112	0x66cffd
- 13	QMetaObject::activate(QObject*, int, int, void**)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5572261
- 14	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60a0adf
- 15	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60ab881
- 16	QApplicationPrivate::notify_helper(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff6467b54
- 17	QApplication::notify(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff646afe6
- 18	QCoreApplication::notifyInternal(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff554add4
- 19	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff55949f6
- 20	g_main_context_dispatch	/lib/x86_64-linux-gnu/libglib-2.0.so.0		0x7ffff388cd13
+ 0	__GI_raise	raise.c	64	0x7ffff420b425	
+ 1	__GI_abort	abort.c	91	0x7ffff420eb8b	
+ 2	QMessageLogger::fatal(char const*, ...) const	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff537368e	
+ 3	qt_assert_x(char const*, char const*, char const*, int)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5370484	
+ 4	QList<bool>::operator[]	qlist.h	460	0x608d0e	
+ 5	operator[]	qlist.h	460	0x60b315	
+ 6	TBuffer::wrap	TBuffer.cpp	2751	0x60b315	
+ 7	TBuffer::translateToPlainText	TBuffer.cpp	1893	0x600ac4	
+ 8	TConsole::printOnDisplay	TConsole.cpp	1107	0x434dd3	
+ 9	postData	ctelnet.cpp	1356	0x44f953	
+ 10	cTelnet::gotPrompt	ctelnet.cpp	1281	0x44f953	
+ 11	cTelnet::handle_socket_signal_readyRead	ctelnet.cpp	1773	0x458476	
+ 12	cTelnet::qt_static_metacall	moc_ctelnet.cpp	112	0x66cffd	
+ 13	QMetaObject::activate(QObject*, int, int, void**)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5572261	
+ 14	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60a0adf	
+ 15	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60ab881	
+ 16	QApplicationPrivate::notify_helper(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff6467b54	
+ 17	QApplication::notify(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff646afe6	
+ 18	QCoreApplication::notifyInternal(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff554add4	
+ 19	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff55949f6	
+ 20	g_main_context_dispatch	/lib/x86_64-linux-gnu/libglib-2.0.so.0		0x7ffff388cd13	
  ...	<More>

-- 
You received this bug notification because you are a member of Mudlet
Makers, which is subscribed to Mudlet.
https://bugs.launchpad.net/bugs/1243109

Title:
  Mudlet crashes when too many lines are deleted to start of buffer

Status in Mudlet the MUD client:
  Confirmed

Bug description:
  Open a profile, create a trigger with the following code and make it
  run to crash Mudlet:

  local startline = getLineNumber()
  for i = 1, 5000 do
    deleteLine()
    moveCursor(0, startline-i)
  end

  Crashed on the assertion:

  inline T &QList<T>::operator[](int i)
  { Q_ASSERT_X(i >= 0 && i < p.size(), "QList<T>::operator[]", "index out of range");
    detach(); return reinterpret_cast<Node *>(p.at(i))->t(); }

  Happens everytime.

  Stacktrace:

  0	__GI_raise	raise.c	64	0x7ffff420b425	
  1	__GI_abort	abort.c	91	0x7ffff420eb8b	
  2	QMessageLogger::fatal(char const*, ...) const	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff537368e	
  3	qt_assert_x(char const*, char const*, char const*, int)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5370484	
  4	QList<bool>::operator[]	qlist.h	460	0x608d0e	
  5	operator[]	qlist.h	460	0x60b315	
  6	TBuffer::wrap	TBuffer.cpp	2751	0x60b315	
  7	TBuffer::translateToPlainText	TBuffer.cpp	1893	0x600ac4	
  8	TConsole::printOnDisplay	TConsole.cpp	1107	0x434dd3	
  9	postData	ctelnet.cpp	1356	0x44f953	
  10	cTelnet::gotPrompt	ctelnet.cpp	1281	0x44f953	
  11	cTelnet::handle_socket_signal_readyRead	ctelnet.cpp	1773	0x458476	
  12	cTelnet::qt_static_metacall	moc_ctelnet.cpp	112	0x66cffd	
  13	QMetaObject::activate(QObject*, int, int, void**)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff5572261	
  14	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60a0adf	
  15	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Network.so.5		0x7ffff60ab881	
  16	QApplicationPrivate::notify_helper(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff6467b54	
  17	QApplication::notify(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Widgets.so.5		0x7ffff646afe6	
  18	QCoreApplication::notifyInternal(QObject*, QEvent*)	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff554add4	
  19	??	/home/vadi/Programs/Qt5.1.1/5.1.1/gcc_64/lib/libQt5Core.so.5		0x7ffff55949f6	
  20	g_main_context_dispatch	/lib/x86_64-linux-gnu/libglib-2.0.so.0		0x7ffff388cd13	
  ...	<More>

To manage notifications about this bug go to:
https://bugs.launchpad.net/mudlet/+bug/1243109/+subscriptions


References