• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

polserver / polserver / 32594674453
82%

Build:
DEFAULT BRANCH: master
Ran 22 Aug 2026 08:02PM UTC
Jobs 1
Files 855
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 Aug 2026 07:45PM UTC coverage: 78.842% (+0.03%) from 78.809%
32594674453

push

github

web-flow
Expose the memory reports as named PolCore() methods, and fix what they reported (#947)

* Expose memory diagnostics as named PolCore() methods

Add PolCore().log_memory_usage(), log_script_memory() and
log_script_variables(script) for the reports that were previously only
reachable through internal(2), (5) and (6). The old selectors still work
and log a one-time deprecation notice naming the replacement.

The two per-script reports now write one timestamped file per call under
log/memory/ rather than appending to a single log; memoryusage.log is
unchanged.

* Fix memory reporting defects

log_script_variables() printed each local variable's name next to a
different local's type and size: the block-relative name index was also
used to look up the value, which lives at the frame-wide slot. The
debugger's stacktrace command had the same fault.

It also stopped at the first instance whose debug info could not be
loaded instead of skipping just that one, and never scanned the queue of
scripts held by the debugger, which estimateSize does count.

SizeOf() on a class instance reachable from itself recursed until the
stack overflowed, taking the server down from any script. Guard the walk
with a per-thread set of instances already being measured.

Size estimates were too low for packets (sizeof was omitted), compiled
scripts (the bytecode and symbol pool were not counted at all, nor the
per-block local variable names) and regular expressions.

* Remove redundant work from the memory reports

These reports block the server while they run, so the duplicated passes
are worth dropping. The reported numbers are unchanged.

The object walk counted the object hash with std::distance immediately
before iterating it; since the hash is a std::map that was a second full
traversal of one node per object in the world. Count in the existing
loop instead.

The per-script report called Executor::sizeEstimate() twice per script,
once for the total and again to format the log... (continued)

187 of 203 new or added lines in 11 files covered. (92.12%)

3 existing lines in 2 files now uncovered.

57376 of 72773 relevant lines covered (78.84%)

1730196.08 hits per line

Uncovered Changes

Lines Coverage ∆ File
11
84.27
1.19% pol-core/pol/globals/script_internals.cpp
2
98.23
-1.77% pol-core/pol/globals/memoryusage.cpp
1
88.49
0.59% pol-core/bscript/bclassinstance.cpp
1
50.0
0.0% pol-core/pol/packetscrobj.h
1
1.54
0.0% pol-core/pol/poldbg.cpp

Coverage Regressions

Lines Coverage ∆ File
2
63.41
0.0% pol-core/pol/mobile/ufacing.cpp
1
74.95
-0.19% pol-core/pol/pol.cpp
Jobs
ID Job ID Ran Files Coverage
1 32594674453.1 22 Aug 2026 08:02PM UTC 855
78.84
GitHub Action Run
Source Files on build 32594674453
  • Tree
  • List 855
  • Changed 16
  • Source Changed 0
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 70642b76 on github
  • Prev Build on master (#32558794315)
  • Next Build on master (#32658215540)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc