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

micropython / micropython / 10573
98%

Build:
DEFAULT BRANCH: master
Ran 01 May 2019 05:12AM UTC
Jobs 1
Files 242
Run time 12s
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

pending completion
10573

push

travis-ci

Damien George
unix/gcollect: Make sure stack/regs get captured properly for GC.

When building with link time optimization enabled it is possible both
gc_collect() and gc_collect_regs_and_stack() get inlined into gc_alloc()
which can result in the regs variable being pushed on the stack earlier
than some of the registers. Depending on the calling convention, those
registers might however contain pointers to blocks which have just been
allocated in the caller of gc_alloc(). Then those pointers end up higher on
the stack than regs, aren't marked by gc_collect_root() and hence get
sweeped, even though they're still in use.

As reported in #4652 this happened for in 32-bit msvc release builds:
mp_lexer_new() does two consecutive allocations and the latter triggered a
gc_collect() which would sweep the memory of the first allocation again.

18401 of 18786 relevant lines covered (97.95%)

364703.19 hits per line

Jobs
ID Job ID Ran Files Coverage
3 10573.3 (NAME="unix coverage build and tests") 01 May 2019 05:12AM UTC 0
97.95
Travis Job 10573.3
Source Files on build 10573
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #10573
  • 34a7d7eb on github
  • Prev Build on master (#10572)
  • Next Build on master (#10574)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc