View Issue Details

IDProjectCategoryView StatusLast Update
0005270The Dark ModCodingpublic17.06.2020 05:12
Reporterstgatilov Assigned Tostgatilov  
PrioritynormalSeveritynormalReproducibilitysometimes
Status resolvedResolutionfixed 
Product VersionTDM 2.07 
Target VersionTDM 2.08Fixed in VersionTDM 2.09 
Summary0005270: Better report on events overflow
DescriptionSeveral problems related to events overflow were reported during 2.08 beta.
Here is the most relevant thread:
  https://forums.thedarkmod.com/index.php?/topic/20412-event-limits/&tab=comments

The biggest problem here is that mappers often have no means to deal with the problem (except that call a programmer).
Because TDM simply crashes. Well, actually is terminates in error or fatal error, making it impossible to record a crashdump.
The single error message is the only thing that can be seen in the logfile, without any hint of what are these events.

The situation should be improved somehow.
TagsNo tags attached.

Activities

stgatilov

stgatilov

07.06.2020 17:39

developer   ~0012600

Committed a bunch of changes to trunk in revs 8761-8764.

Copying information from forums:
  https://forums.thedarkmod.com/index.php?/topic/20412-event-limits/&do=findComment&comment=448075

1) Added listEvents command

2) When number of alive events exceeds 2K (controlled by g_eventAliveSoftLimit), a warning is posted to console every 5 seconds. Along with this warning, 10 currently alive events (controlled by g_eventNumberPrintedOnLimit) are printed to console. Half of them are chosen randomly, the other half are the very last in the queue. When something bubbles the event queue, all of the printed events will most likely be related to the problem.

3) When number of events processed in single frame exceeds 5K (controller by g_eventPerFrameSoftLimit), warning is posted to console. In fact, two warnings are posted: the first when it hits the limit, and the second when processing ends (if it ends properly, of course). First 10 events (controlled by g_eventNumberPrintedOnLimit) after exceeding the limit are printed to console between the two warnings.
Interestingly, there are several moments when I see 1100 or 2700 events processed in one frame during game start. These events are usually something like calling postspawn function for most of the entities. If we see a problem with it in the future, I suggest increasing the limit x10 times during the very first frame after game start of game load.
stgatilov

stgatilov

07.06.2020 17:41

developer   ~0012601

Committed another bunch of changes to trunk in svn revs 8765, 8766.

Discussed here:
  https://forums.thedarkmod.com/index.php?/topic/20410-crash-on-errorwarning/
This would help getting crashdumps from players on error or fatal error.

As a side effect, commands crash, error, and freeze can now be used in non-developer mode.
Like if anyone uses them =)
stgatilov

stgatilov

17.06.2020 05:12

developer   ~0012618

The problem is fixed, but the changes are postponed to after 2.08, so tecnhically the issue is solved in 2.09.

The feature that is NOT included in 2.08 is automatic detection of limits being close and printing warnings to console.
The features that are merged include: listEvents command, com_error_crash and com_warning_as_error cvars.

Issue History

Date Modified Username Field Change
07.06.2020 13:57 stgatilov New Issue
07.06.2020 13:57 stgatilov Status new => assigned
07.06.2020 13:57 stgatilov Assigned To => stgatilov
07.06.2020 17:39 stgatilov Note Added: 0012600
07.06.2020 17:41 stgatilov Note Added: 0012601
17.06.2020 05:10 stgatilov Fixed in Version => TDM 2.09
17.06.2020 05:12 stgatilov Status assigned => resolved
17.06.2020 05:12 stgatilov Resolution open => fixed
17.06.2020 05:12 stgatilov Note Added: 0012618