Dd-trace-js: RangeError: Maximum call stack size exceeded on Koa + v0.18.0

Created on 24 Feb 2020  路  4Comments  路  Source: DataDog/dd-trace-js

Describe the bug

We use Koa + dd-trace in an app:

"dd-trace": "0.18.0",
"koa": "2.11.0",
"koa-bodyparser": "4.2.1",
"koa-compose": "4.1.0",
"koa-compress": "3.0.0",
"koa-helmet": "5.2.0",
"koa-router": "8.0.6",

When upgrading dd-trace from 0.17.0 to 0.18.0 our API endpoints all broke down with the following error and stacktrace:

RangeError: Maximum call stack size exceeded.

Stacktrace:

RangeError: Maximum call stack size exceeded
  File "internal/errors.js", line 75, col 40, in maybeOverridePrepareStackTrace
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 115, col 32, in null.<anonymous>
    return wrappedMiddleware.apply(this, arguments)
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-router/lib/router.js", line 353, col 16, in null.<anonymous>
    return next();
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-compose/index.js", line 34, col 12, in null.<anonymous>
    return dispatch(0)
  File "/usr/src/app/node_modules/koa-router/lib/router.js", line 358, col 31, in dispatch
    return compose(layerChain)(ctx, next);
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 93, col 25, in dispatchWithTrace
    return dispatch.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-router/lib/router.js", line 339, col 32, in dispatch
    if (!matched.route) return next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 93, col 25, in dispatchWithTrace
    return dispatch.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-router/lib/router.js", line 339, col 32, in dispatch
    if (!matched.route) return next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 93, col 25, in dispatchWithTrace
    return dispatch.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-router/lib/router.js", line 339, col 32, in dispatch
    if (!matched.route) return next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 93, col 25, in dispatchWithTrace
    return dispatch.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-router/lib/router.js", line 339, col 32, in dispatch
    if (!matched.route) return next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 93, col 25, in dispatchWithTrace
    return dispatch.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-router/lib/router.js", line 339, col 32, in dispatch
    if (!matched.route) return next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 93, col 25, in dispatchWithTrace
    return dispatch.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/dist/src/common/neo4j.js", line 19, col 15, in null.<anonymous>
    await next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/dist/src/common/elasticsearch.js", line 16, col 15, in null.<anonymous>
    await next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/dist/src/common/mysql.js", line 19, col 15, in null.<anonymous>
    await next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/dist/src/common/id-pid-converter.js", line 91, col 11, in exports.middleware
    await next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/dist/src/common/access-logger.js", line 60, col 15, in null.<anonymous>
    await next();
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-compress/index.js", line 38, col 11, in null.<anonymous>
    await next()
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 128, col 27, in null.<anonymous>
    const result = fn.apply(this, arguments)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js", line 51, col 14, in Scope._activate
    return callback()
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/scope/base.js", line 12, col 19, in Scope.activate
    return this._activate(span, callback)
  File "/usr/src/app/node_modules/dd-trace/packages/dd-trace/src/plugins/util/web.js", line 107, col 27, in Object.wrapMiddleware
    return tracer.scope().activate(span, fn)
  File "/usr/src/app/node_modules/dd-trace/packages/datadog-plugin-koa/src/index.js", line 126, col 16, in null.<anonymous>
    return web.wrapMiddleware(ctx.req, fn, 'koa.middleware', () => {
  File "/usr/src/app/node_modules/koa-compose/index.js", line 42, col 32, in dispatch
    return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
  File "/usr/src/app/node_modules/koa-bodyparser/index.js", line 86, col 11, in bodyParser
    await next();
  File "internal/process/task_queues.js", line 97, col 5, in processTicksAndRejections

Needless to say we reverted back to 0.17.0 which works fine :-) It's only a problem in v0.18.0
Something in release 0.18.0 could break our Koa setup. Maybe the koa-router changes in #844 ?

Looks similar to issue #807 but we do not use mysql2...

Environment

  • Operation system: node:13.8.0-alpine container (Docker/Kubernetes)
  • Node version: 13.8.0
  • Tracer version: 0.18.0 (dd-trace-js)
  • Agent version: Using datadog/agent:latest in Docker
bug community integrations

Most helpful comment

Fix released in 0.18.1.

All 4 comments

Duplicate of #870. The fix is merged and will be in the next release, either today or tomorrow.

Thanks for the quick response! Looks indeed like the same issue 馃檶

Fix released in 0.18.1.

Was this page helpful?
0 / 5 - 0 ratings