Opened 9 years ago

Last modified 7 years ago

#3339 closed enhancement

[PATCH] Command line option for pid+timestamp in OOS-log filename — at Version 1

Reported by: elexis Owned by:
Priority: Nice to Have Milestone: Alpha 23
Component: Core engine Keywords: patch
Cc: Patch:

Description (last modified by elexis)

If you try to reproduce an out-of-sync error, host a game with one instance, join as a client with the second instance of 0ad and actually manage to produce an out of sync error, then both instances of 0ad will write the ooslog to the same file. Thus one file will be overwritten and you can't diff the files.

attachment:t3255_use_timestamp_and_pid_for_oosdump_filename.patch:ticket:3255 contains a patch that adds the current unix timestamp and process id to the filename and thereby prevents the file from being overwritten.

However since oos dumps are very big (dozens of megabytes) multiple files should only be created if the application was started with a specific command line argument.

Change History (4)

by elexis, 9 years ago

Adds the command line switch, updates readme.txt. Add true || to the cit->second != expected check in line 647 of NetTurnManager to trigger an out of sync error, even as the only client on a server.

comment:1 by elexis, 9 years ago

Description: modified (diff)
Keywords: review added
Milestone: BacklogAlpha 19
Summary: Command line option for pid+timestamp in OOS-log filename[PATCH] Command line option for pid+timestamp in OOS-log filename

by elexis, 9 years ago

Changed the name of the option to "oosdump-unique", some beautifying.

by elexis, 9 years ago

Uses std::time(NULL) instead of std::time(0).

Note: See TracTickets for help on using tickets.