<div dir="ltr"><div><div><div><div><div><div><div><div>I do not have my trac password with me so I cannot comment on the actual bug report. But here is a stack trace from current master version of Subsurface (Ubuntu 14.10 as in the bug report).<br><br>#0  strlen () at ../sysdeps/x86_64/strlen.S:106<br>#1  0x00007ffff20b523e in __GI___strdup (s=0x0) at strdup.c:41<br>#2  0x00000000004982e8 in MainTab::acceptChanges (this=this@entry=0x936320) at ../qt-ui/maintab.cpp:698<br>#3  0x0000000000542850 in MainTab::qt_static_metacall (_o=0x936320, _id=<optimized out>, _a=0x7fffffffd130, _c=<optimized out>) at .moc/moc_maintab.cpp:122<br>#4  0x00007ffff2db3a7a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4<br>#5  0x00007ffff3613bf2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#6  0x00007ffff36155c3 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#7  0x00007ffff39d4d9f in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#8  0x00007ffff39d4ed4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#9  0x00007ffff3a8c32a in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#10 0x00007ffff3669ce8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#11 0x00007ffff361a11c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#12 0x00007ffff36209be in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#13 0x00007ffff2d9f86d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4<br>#14 0x00007ffff362007f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#15 0x00007ffff3695bde in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#16 0x00007ffff3695477 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#17 0x00007ffff36bd432 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#18 0x00007fffee3ebc5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0<br>#19 0x00007fffee3ebf48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0<br>#20 0x00007fffee3ebffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0<br>#21 0x00007ffff2dcd031 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4<br>#22 0x00007ffff36bd4e6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4<br>#23 0x00007ffff2d9e4f1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4<br>#24 0x00007ffff2d9e805 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4<br>#25 0x00007ffff2da3f67 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4<br>#26 0x000000000043482a in main (argc=1, argv=0x7fffffffdeb8) at ../main.cpp:63<br><br></div>And the line calling strdup (in case my sources are slightly off sync):<br><br>                if (!same_string(displayedTrip.location, currentTrip->location)) {<br>                        currentTrip->location = strdup(displayedTrip.location);<br>                        mark_divelist_changed(true);<br>                }<br><br></div>Reproduction steps:<br></div>- start new divelog<br></div>- import dives/test0.xml-test38.xml<br></div>- select the trip on top of the divelist<br></div>- edit notes<br></div>- save<br><br></div><div>BTW if I modify the trip location before saving, no crash.<br></div><div><br></div>miika<br></div>