Commit Graph

68 Commits

Author SHA1 Message Date
Jonathan G Rennison
86a6f63e2f Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/codeql.yml
#	.github/workflows/commit-checker.yml
#	.github/workflows/release-linux-legacy.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-windows-store.yml
#	.github/workflows/release-windows.yml
#	.github/workflows/upload-cdn.yml
#	.github/workflows/upload-gog.yml
#	.github/workflows/upload-steam.yml
#	src/console_cmds.cpp
#	src/core/math_func.hpp
#	src/fios.cpp
#	src/fios.h
#	src/intro_gui.cpp
#	src/network/network_server.cpp
#	src/openttd.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_table.cpp
#	src/settings_type.h
#	src/table/settings.h.preamble
#	src/table/settings/company_settings.ini
#	src/table/settings/currency_settings.ini
#	src/table/settings/difficulty_settings.ini
#	src/table/settings/economy_settings.ini
#	src/table/settings/game_settings.ini
#	src/table/settings/gui_settings.ini
#	src/table/settings/linkgraph_settings.ini
#	src/table/settings/locale_settings.ini
#	src/table/settings/misc_settings.ini
#	src/table/settings/multimedia_settings.ini
#	src/table/settings/network_private_settings.ini
#	src/table/settings/network_settings.ini
#	src/table/settings/news_display_settings.ini
#	src/table/settings/old_gameopt_settings.ini
#	src/table/settings/pathfinding_settings.ini
#	src/table/settings/script_settings.ini
#	src/table/settings/win32_settings.ini
#	src/table/settings/window_settings.ini
#	src/table/settings/world_settings.ini
#	src/viewport.cpp
#	src/viewport_func.h
#	src/window.cpp
2024-02-15 23:49:11 +00:00
Jonathan G Rennison
58f8971f17 Add console command to get version information
See: #652
2024-02-15 18:43:27 +00:00
Jonathan G Rennison
7dd820fe22 Crash/desync logs: Include non-default settings section 2024-01-10 23:20:47 +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
Patric Stout
37e2f99c09 Change: store crash logs in JSON format (#11232) 2023-09-14 20:13:27 +02:00
Jonathan G Rennison
cdf1ff8d5a Network: Extend post-desync frame sync history
Record sync state at various points throughout each frame
2023-08-28 19:58:17 +01:00
Jonathan G Rennison
8e755bf0c2 Network: Remove NETWORK_SEND_DOUBLE_SEED define 2023-08-28 13:18:36 +01:00
Patric Stout
de5e338a76 Change: mention in MacOS / Windows crashlog popup when files couldn't be generated (#11239)
For example, if the crash.sav couldn't be created, and the TryExcept
detected an issue, write out that the file is not available in
the popup.
2023-08-27 22:49:12 +00:00
Patric Stout
b00e483b0f Change: recover when possible from crashes during a crash (#11238) 2023-08-27 21:54:05 +02:00
Patric Stout
352ac264a5 Remove: [Win32] module-list from crash.log (#11219)
Only Windows implemented this, and it opens the files to read them
to get a CRC. Doing this in a crash-handler is strange at best.

Lastly, nobody has actually ever used this information to come to
some sort of conclusion. The module-list is used in combination
with the crash.dmp, but this information is already embedded in
there.
2023-08-20 17:09:21 +00: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
a5aebeb1b5 Remove: [Win32] register values in crash.log (#11212) 2023-08-20 16:59:22 +02:00
Jonathan G Rennison
ead18b2af2 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/3rdparty/md5/md5.h
#	src/3rdparty/squirrel/squirrel/squtils.h
#	src/animated_tile.cpp
#	src/console_func.h
#	src/core/CMakeLists.txt
#	src/core/container_func.hpp
#	src/core/smallstack_type.hpp
#	src/crashlog.cpp
#	src/crashlog.h
#	src/debug.h
#	src/economy.cpp
#	src/gamelog.cpp
#	src/industry_gui.cpp
#	src/lang/catalan.txt
#	src/misc_gui.cpp
#	src/network/network_content.h
#	src/newgrf.cpp
#	src/newgrf.h
#	src/newgrf_config.cpp
#	src/newgrf_config.h
#	src/newgrf_gui.cpp
#	src/os/unix/font_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/rail_cmd.cpp
#	src/saveload/animated_tile_sl.cpp
#	src/script/api/script_tilelist.cpp
#	src/settings.cpp
#	src/settingsgen/settingsgen.cpp
#	src/sl/oldloader_sl.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/strgen/strgen.cpp
#	src/strgen/strgen_base.cpp
#	src/table/settings/gui_settings.ini
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehicle_cmd.cpp
#	src/vehicle_gui_base.h
#	src/viewport_sprite_sorter.h
2023-07-02 12:02:36 +01:00
Jonathan G Rennison
d09b504bc5 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-source.yml
#	.github/workflows/release.yml
#	CMakeLists.txt
#	COMPILING.md
#	src/ai/ai_core.cpp
#	src/ai/ai_gui.cpp
#	src/bridge_gui.cpp
#	src/company_gui.cpp
#	src/console_cmds.cpp
#	src/core/CMakeLists.txt
#	src/core/smallmap_type.hpp
#	src/disaster_vehicle.h
#	src/effectvehicle_base.h
#	src/fontcache.cpp
#	src/game/game_core.cpp
#	src/game/game_gui.cpp
#	src/gamelog.cpp
#	src/gamelog_internal.h
#	src/group_gui.cpp
#	src/linkgraph/linkgraph.h
#	src/misc.cpp
#	src/network/core/config.h
#	src/network/core/udp.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_content_gui.cpp
#	src/network/network_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_gui.cpp
#	src/newgrf_profiling.cpp
#	src/newgrf_profiling.h
#	src/object_gui.cpp
#	src/openttd.cpp
#	src/openttd.h
#	src/order_gui.cpp
#	src/os/windows/font_win32.cpp
#	src/rail_gui.cpp
#	src/road.cpp
#	src/road_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
#	src/script/api/script_controller.cpp
#	src/script/api/script_roadtypelist.cpp
#	src/script/script_config.cpp
#	src/script/script_config.hpp
#	src/script/script_instance.cpp
#	src/script/script_scanner.cpp
#	src/script/squirrel.cpp
#	src/script/squirrel_helper.hpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/table/settings/network_private_settings.ini
#	src/timetable_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/window_gui.h
2023-07-01 02:42:51 +01:00
Jonathan G Rennison
8c507d6611 Crash log: Suppress messages from internal faults 2023-06-13 00:57:05 +01:00
Jonathan G Rennison
b26a3fa41e Crash log: Write out crash log incrementally on Windows, MacOS 2023-06-13 00:57:05 +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
Rubidium
30b9e02dd9 Codechange: replace crashlog filenames with std::string in Crashlog 2023-05-25 05:42:10 +02:00
Rubidium
19304bd3d5 Codechange: replace seprintf with fmt::format for filling the crash log data 2023-05-25 05:42:10 +02:00
Patric Stout
0850193a38 Fix: survey result on crash only worked on Linux (#10855)
Every OS-specific crashlog handler has their own MakeCrashLog
in some form. In result, only Linux was calling the generic one.
2023-05-21 12:57:32 +02:00
Patric Stout
199e41c762 Codechange: use default dtor instead of empty (#10826) 2023-05-14 23:31:03 +02:00
Rubidium
f74e26ca7e Codechange: replace error/usererror printf variant with fmt variant and rename 2023-04-25 17:55:09 +02:00
Rubidium
d51d08ddcb Codechange: put stack variables in global variables for gamelog/crashlog 2023-01-28 17:23:30 +01:00
Jonathan G Rennison
5e00d535bc Debug: Detect which frame's state first diverged after a desync 2022-11-13 01:08:39 +00:00
Jonathan G Rennison
3176313576 Avoid blocking network and game when writing desync savegames 2022-11-12 16:18:15 +00:00
Jonathan G Rennison
76e12c994d Crash log: Write log to file and console as it is being generated on Unix 2022-04-25 19:40:53 +01:00
glx22
b6c5f49379 Change: add a timestamp in name of crash files 2022-02-02 21:32:01 +01:00
Jonathan G Rennison
3892a1e201 Log client ID/name in server desync logs 2022-01-14 18:44:29 +00: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
fe8da3ae3a Fix missing include in header 2021-10-04 21:37:55 +01: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
63ddf7f587 Crashlog: Update thread/lock handling to match GameLoop changes 2021-04-06 18:43:50 +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
669b68d140 Crashlog: Suffix crash file names with date/time 2020-04-27 17:31:35 +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
6ce7f22fe6 Send server desync log to client 2019-08-22 01:13:07 +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
a1cf3358fe Add missing include to crashlog.h 2019-07-04 17:04:38 +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
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
Jonathan G Rennison
743432e7f0 Try to do non-main thread crash save/screenshot in main thread 2018-08-26 22:23:11 +01:00
Jonathan G Rennison
f42cc19aad Merge branch 'cpp-11' into crashlog_improvements
# Conflicts:
#	Makefile.src.in
#	src/crashlog.cpp
#	src/crashlog.h
2018-04-27 00:33:44 +01:00
Charles Pigott
62d79900ec Add: List recent news messages in crashlog output 2018-04-13 22:08:13 +02:00
Jonathan G Rennison
3271d69bda Enable crashlogs for emergency or missing NewGRF savegames, in dev mode.
Factor out common checks for emergency and missing NewGRFs.
2017-06-22 19:30:37 +01:00