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

ben-manes / caffeine / 1912
100%

Build:
DEFAULT BRANCH: master
Ran 06 Nov 2016 05:33AM UTC
Jobs 1
Files 66
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

pending completion
1912

push

travis-ci

ben-manes
Fix deadlock caused by unexpected OutOfMemoryError (fixes #130)

For a small performance gain, scheduling the maintenance work is
performed under a NonReentrantLock. This has a tiny effect, but is
a win since scheduling might happen frequency under load. It only
needed to be re-entrant when a caller-runs policy is used (so the
task locks on the same thread as the one submitting under the lock)
or if an exception is thrown and the maintenance work is performed
directly. The ThreadPoolExecutor and like may throw a
RejectedExecutionException, but ForkJoinPool will never throw. By
default the non-reentrant lock is used, but if a custom executor
is specified then a reentrant one is used since we can't trust
the foreign code.

However, an OutOfMemoryError may be thrown at any time and caused
by unrelated code. So the assumption above was wrong, resulting in
a deadlock. Despite the JVM being in an unpredictable state, its
still a poor response.

The test case covering this scenario was improved to run with the
non-reentrant lock so the deadlock could be observed and corrected.

In addition, removed the Gradle buildscan plugin due to it causing
performance issues due to the large (95k) tests run per test task.

5386 of 5749 relevant lines covered (93.69%)

0.94 hits per line

Jobs
ID Job ID Ran Files Coverage
1 1912.1 (TERM=dumb) 06 Nov 2016 05:33AM UTC 0
93.69
Travis Job 1912.1
Source Files on build 1912
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #1912
  • 182f7a52 on github
  • Prev Build on master (#1911)
  • Next Build on master (#1913)
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