Trenchbroom: Crash when removing task from compile configuration

Created on 16 Jun 2020  路  8Comments  路  Source: TrenchBroom/TrenchBroom

System Information

v2020.1-161-g99b657b37 Debug
v2020.1 Release

Steps to Reproduce

Attempt to remove any task from a compile configuration.

Crash Info

OS: Debian GNU/Linux bullseye/sid
Qt: 5.12.5
GL_VENDOR:  NVIDIA Corporation
GL_RENDERER:    GeForce GTX 980 Ti/PCIe/SSE2
GL_VERSION: 4.6.0 NVIDIA 440.82
TrenchBroom Version:    2020.1
TrenchBroom Build:  v2020.1 Release
Reason: SIGSEGV
Stack trace:
trenchbroom() [0x97841c]
trenchbroom() [0x975327]
/lib/x86_64-linux-gnu/libc.so.6(+0x3b800) [0x7fe4ecc50800]
trenchbroom() [0x5ba149]
trenchbroom() [0x72919e]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x918) [0x7fe4ed3ad4e8]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN15QAbstractButton7clickedEb+0x42) [0x7fe4ede702b2]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x2544ca) [0x7fe4ede704ca]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x25586f) [0x7fe4ede7186f]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN15QAbstractButton17mouseReleaseEventEP11QMouseEvent+0xe5) [0x7fe4ede71a35]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN11QToolButton17mouseReleaseEventEP11QMouseEvent+0xa) [0x7fe4edf60f0a]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN7QWidget5eventEP6QEvent+0x246) [0x7fe4eddbf776]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN11QToolButton5eventEP6QEvent+0x34) [0x7fe4edf60fb4]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x82) [0x7fe4edd7dc32]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x583) [0x7fe4edd873e3]
trenchbroom() [0x977e2d]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x182) [0x7fe4ed382a52]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Ebb+0x1b3) [0x7fe4edd864f3]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1bf039) [0x7fe4edddb039]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1c1ec4) [0x7fe4eddddec4]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x82) [0x7fe4edd7dc32]
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330) [0x7fe4edd87190]
trenchbroom() [0x977e2d]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x182) [0x7fe4ed382a52]
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5(_ZN22QGuiApplicationPrivate17processMouseEventEPN29QWindowSystemInterfacePrivate10MouseEventE+0x6c3) [0x7fe4ed761a13]
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5(_ZN22QGuiApplicationPrivate24processWindowSystemEventEPN29QWindowSystemInterfacePrivate17WindowSystemEventE+0x24b) [0x7fe4ed76326b]
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5(_ZN22QWindowSystemInterface22sendWindowSystemEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0xbb) [0x7fe4ed73decb]
/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5(+0x71cda) [0x7fe4e8d67cda]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7fe4eb94260d]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x50890) [0x7fe4eb942890]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2f) [0x7fe4eb94291f]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x61) [0x7fe4ed3d87c1]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7fe4ed3816db]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x92) [0x7fe4ed389182]
trenchbroom() [0x457183]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7fe4ecc3be0b]
trenchbroom() [0x457219]
1 Bug

All 8 comments

I can't reproduce this on macOS or on Ubuntu 20.04 on 2020.1 or on current master :-(

Same for me on Linux.

Removing the CompilationProfiles.cfg allowed me to add new profiles where I could remove tasks. However after adding a second profile suddenly all the task buttons were disabled until I restarted TrenchBroom.

I've attached my original CompilationProfiles.cfg file.

CompilationProfiles.txt

Restarted TB a few more times and now the compile dialog is working without issue.

@eGax found how to reproduce (I confirmed this on current master, release Win64 build, 60ba694ccad407d83a6780a6a2a7af612a7878a3 )

Add a new compile profile, then click the "remove task" button -> crash

I can repeatedly crash TrenchBroom-Win32-v2020.1-Release and a recent main branch build: TrenchBroom-Linux-v2020.1-174-g60ba694cc-RelWithDebInfo.x86_64 by creating a new map with any game, adding a new compile dialog profile followed by clicking on "Remove the selected task".

Seems to be very close to this.

Useful Widows log results"

ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 0129C5DC) 0129C5DC (TrenchBroom): (filename not available): TrenchBroom::Model::CompilationProfile::removeTask ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 01395BC0) 01395BC0 (TrenchBroom): (filename not available): TrenchBroom::View::CompilationProfileEditor::removeTask ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 6215E43A) 6215E43A (Qt5Core): (filename not available): QMetaObject::activate ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 6215E71E) 6215E71E (Qt5Core): (filename not available): QMetaObject::activate ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 62AAE420) 62AAE420 (Qt5Widgets): (filename not available): QAbstractButton::clicked ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 62AAE380) 62AAE380 (Qt5Widgets): (filename not available): QAbstractButton::click

Not sure why this is, but oddly enough the Linux build crashes just the same, but in the crash.txt/log it doesn't display those error lines or any errors at all.

Just a thought. If the user hasn't actually added any tasks to the profile maybe disable the widget buttons at the bottom of the compile dialog until there is something to move or remove.
image

Yeah, that's probably all that's going on (button is not being disabled when it should be)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jmickle66666666 picture jmickle66666666  路  3Comments

AlpacaNox picture AlpacaNox  路  5Comments

dumptruckDS picture dumptruckDS  路  5Comments

totalnewbie picture totalnewbie  路  3Comments

bstordeur picture bstordeur  路  3Comments