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

bdwgc / bdwgc / 2107 / 1
81%
master: 81%

Build:
DEFAULT BRANCH: master
Ran 22 Apr 2026 07:31AM UTC
Files 37
Run time 3s
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 Apr 2026 07:19AM UTC coverage: 80.636% (+0.07%) from 80.565%
2107.1

push

travis-ci

ivmai
Fix deadlock in GC_start_mark_threads if redirect-malloc on Linux

Issue #909 (bdwgc).

In `GC_start_mark_threads_inner`, real `pthread_create()` could call
our `calloc()` redirecting to `GC_generic_malloc_uncollectable()`,
thus we should release the allocator lock temporarily (to avoid
a deadlock).  As a consequence, we need to prevent usage of the
markers till `GC_wait_for_markers_init()` completion - the easiest
way to achieve this is to disable collection temporarily.

* pthread_support.c [GC_PTHREADS_PARAMARK]
(GC_start_mark_threads_inner): Update comments for `if (GC_parallel)`
and `INIT_REAL_SYMS()`; define `res` local variable.
* pthread_support.c [GC_PTHREADS_PARAMARK && REDIRECT_MALLOC]
(GC_start_mark_threads_inner): Call `GC_disable_inner()` and `UNLOCK()`
before call `REAL_FUNC(pthread_create)()`, followed by call `LOCK()`
and `GC_enable_inner()`; add comment.

Co-authored-by: fcrwr <262846459+fcrwr@users.noreply.github.com>

7229 of 8965 relevant lines covered (80.64%)

18665721.63 hits per line

Source Files on job 2107.1
  • Tree
  • List 37
  • Changed 12
  • Source Changed 8
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 2107
  • Travis Job
  • 563de69e on github
  • Prev Job for on master (#2103.1)
  • Next Job for on master (#2109.1)
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