Commit Graph

83 Commits

Author SHA1 Message Date
Jonathan G Rennison
58f8971f17 Add console command to get version information
See: #652
2024-02-15 18:43:27 +00:00
Jonathan G Rennison
d00424008f Crashlog: Adjust Linux stacktrace format when using BFD 2024-02-02 21:11:22 +00:00
Jonathan G Rennison
a4c14171a7 Crashlog: Re-use BFD instances for the same object 2024-02-02 21:11:22 +00:00
Jonathan G Rennison
c929f7075e Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/SourceList.cmake
#	src/build_vehicle_gui.cpp
#	src/company_gui.cpp
#	src/console_cmds.cpp
#	src/depot_base.h
#	src/elrail.cpp
#	src/network/core/udp.cpp
#	src/network/network_admin.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_gui.cpp
#	src/network/network_server.cpp
#	src/newgrf.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_railtype.cpp
#	src/newgrf_railtype.h
#	src/newgrf_storage.h
#	src/os/unix/crashlog_unix.cpp
#	src/rail.h
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/road_cmd.cpp
#	src/road_map.h
#	src/saveload/labelmaps_sl.cpp
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/sl/oldloader_sl.cpp
#	src/station_cmd.cpp
#	src/station_gui.cpp
#	src/table/settings/world_settings.ini
#	src/tests/test_script_admin.cpp
#	src/textfile_gui.cpp
#	src/toolbar_gui.cpp
#	src/train_cmd.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle_gui.cpp
#	src/widget.cpp
#	src/window.cpp
#	src/window_gui.h
#	src/window_type.h
2023-11-19 13:00:21 +00:00
Jonathan G Rennison
fc1c47cbd2 Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/crashlog.cpp
#	src/crashlog.h
#	src/date_type.h
#	src/depot_type.h
#	src/landscape.cpp
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/os/macosx/crashlog_osx.cpp
#	src/os/unix/crashlog_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/pathfinder/npf/npf.cpp
#	src/road_cmd.cpp
#	src/script/api/script_infrastructure.cpp
#	src/stdafx.h
#	src/table/settings/gui_settings.ini
#	src/table/settings/pathfinding_settings.ini
#	src/tests/CMakeLists.txt
2023-11-13 19:08:22 +00:00
frosch
a3f661cb66 Fix: compilation failed on gcc 10.2 due to missing include. (#11300)
'_exit' is defined in 'unistd.h'.
2023-09-15 09:26:03 +01:00
Patric Stout
37e2f99c09 Change: store crash logs in JSON format (#11232) 2023-09-14 20:13:27 +02:00
Patric Stout
b00e483b0f Change: recover when possible from crashes during a crash (#11238) 2023-08-27 21:54:05 +02:00
Patric Stout
f120d2beb8 Add: use breakpad to create crash.dmp on MacOS / Linux too (#11202)
Normally only the Windows platform could create a crash.dmp, making
analysing crash-reports from MacOS / Linux rather tricky.
2023-08-20 17:16:08 +02:00
Patric Stout
cd10ddf9ae Remove: last remnants of SunOS (#11210)
We have no evidence SunOS has been tried in the last few years,
and the code is awkward enough to just remove.
2023-08-19 00:52:58 +02:00
Jonathan G Rennison
79509b76a6 Crashlog: Unix: Decode REG_ERR for SIGSEGV 2023-08-14 15:58:00 +01:00
Jonathan G Rennison
cb0c8d5e38 Crashlog: Unix: Decode common si_code values for SIGSEGV 2023-08-14 11:24:05 +01:00
Jonathan G Rennison
e676eb1202 Crashlog: Unix: Include REG_ERR in x86 register dump 2023-08-14 11:24:05 +01:00
Jonathan G Rennison
1ec2ed937f Unix: Fix CMake detection and setup of sigaltstack 2023-08-14 00:20:04 +01:00
Jonathan G Rennison
551d581215 Unix crash log: Fix stack trace formatting when using addr2line 2023-06-18 20:17:38 +01:00
Jonathan G Rennison
76304c1f76 Crash log: Checkpoint each line of decoded stack trace 2023-06-12 19:03:37 +01:00
Jonathan G Rennison
da07c8ce51 Crash log: Move GDB/LLDB logging to its own section 2023-06-12 18:38:27 +01:00
Jonathan G Rennison
dd57fc6ecf Unix crash log: Generalise crash log fault handling to all sections 2023-06-12 18:34:37 +01:00
Jonathan G Rennison
ac2f9a21e8 Move upstream saveload to src/saveload/, move jgrpp saveload to src/sl/
Leave afterload in src/saveload/
2023-06-08 00:01:40 +01:00
PeterN
d086f288cd Codechange: Remove duplicated includes. (#10888)
These are now included by stdafx.h so don't need to be included again.
2023-05-29 14:29:00 +01:00
Rubidium
19304bd3d5 Codechange: replace seprintf with fmt::format for filling the crash log data 2023-05-25 05:42:10 +02:00
Rubidium
c518293135 Codechange: replace printf with fmt::print 2023-05-21 15:12:02 +02:00
Peter Nelson
00bf42353a Codechange: Place gamelog into its own class, along with internal data.
Data is now stored in vectors to avoid manual memory management and
passing lengths around.
2023-05-02 19:47:55 +01:00
Jonathan G Rennison
cfb0d366f3 Unix: Trigger crash log handler on receiving SIGQUIT 2023-04-02 01:07:54 +01:00
Jonathan G Rennison
97acdfaa05 Crashlog: Unix: Use dladdr1 for symbol offset for addr2line
Subtract 1 from offset given to addr2line
2023-02-20 23:42:55 +00:00
Rubidium
d51d08ddcb Codechange: put stack variables in global variables for gamelog/crashlog 2023-01-28 17:23:30 +01:00
Jonathan G Rennison
5cc56a6145 Crashlog: Limit iterations of calls to bfd_find_inliner_info 2022-10-08 19:56:16 +01:00
Jonathan G Rennison
e64427d034 Crashlog: Unix: Add BFD inline info support 2022-09-04 22:01:23 +01:00
Jonathan G Rennison
3d39e439f6 Unix: Use _exit instead of exit on execvp failure in crashlog 2022-09-04 20:58:28 +01:00
Jonathan G Rennison
0811990d4a Unix: Try using addr2line for crash log backtrace symbol resolution 2022-09-04 19:41:05 +01:00
Jonathan G Rennison
1518e4621b Fix unused function warning in crash logger on Emscripten 2022-06-05 16:10:15 +01:00
Jonathan G Rennison
220390ed3e Crashlog: Support gdb read when /dev/null is missing 2022-05-31 22:58:16 +01:00
Jonathan G Rennison
d83f0d0cda Crashlog: Use a temp file instead of a pipe to read from gdb/lldb 2022-05-31 22:01:52 +01:00
Jonathan G Rennison
4a0fa0cc75 Crashlog: Do not try to read from other executables if /dev/null is missing 2022-05-31 21:38:02 +01:00
Jonathan G Rennison
4543803823 Crash log: Increase crash log length limit on Unix
Allocate buffer using mmap if possible
2021-12-06 18:58:19 +00:00
Jonathan G Rennison
24fdc8331b Add CheckCaches mode to emit a log/save/screenshot on detected issue 2021-10-03 23:57:27 +01:00
Jonathan G Rennison
5e14b54a0c Merge branch 'master' into jgrpp 2021-04-05 17:51:45 +01:00
Michael Lutz
13011e00c6 Fix #8860: [Win32] Crashlog window wasn't reliably shown for crashes not on the main thread. 2021-03-13 22:09:05 +01:00
Jonathan G Rennison
610f8b9eca Crashlog: Unix: Fix getting symbols using BFD 2020-06-30 23:53:51 +01:00
Jonathan G Rennison
cbdd9f84d8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_gui.cpp
#	src/lang/korean.txt
#	src/video/sdl2_v.cpp
#	src/video/sdl2_v.h
#	src/window.cpp
#	src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Jonathan G Rennison
6c21c93192 Add command line switch -Z to write detailed version information 2019-10-08 00:05:44 +01:00
Jonathan G Rennison
459a49cb24 Add flags for mismatch type to client desync log 2019-08-20 22:52:03 +01:00
Jonathan G Rennison
97baff6fd8 Add client desync log to server desync log output 2019-05-23 22:53:17 +01:00
Jonathan G Rennison
fa55a1c002 Output a log, savegame and screenshot on desync events 2019-05-18 10:17:59 +01:00
Jonathan G Rennison
24458e9990 Add various missing override specifiers 2019-04-28 12:24:40 +01:00
Jonathan G Rennison
85c8f4baca Merge branch 'crashlog_improvements' into jgrpp
# Conflicts:
#	src/os/macosx/crashlog_osx.cpp
2019-04-23 19:51:09 +01:00
Jonathan G Rennison
145fee04fa Add sigaltstack support to Unix crashlog 2019-04-23 18:41:20 +01:00
Jonathan G Rennison
674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 2019-04-11 18:14:13 +01:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00