Skip to content

Instantly share code, notes, and snippets.

@isao
Last active December 14, 2015 20:38
Show Gist options
  • Save isao/5144736 to your computer and use it in GitHub Desktop.
Save isao/5144736 to your computer and use it in GitHub Desktop.
tape "EventEmitter memory leak detected" in node 0.10.0 and runs too many tests

to reproduce:

% git clone git@github.com:isao/byway.git
% cd byway/
% git log --oneline -1
0636462 cleanup

% npm i tape
% node tests/name-routes.js
% node -v
v0.10.0
% npm ls |grep tape
└─┬ tape@0.3.0
% node tests/name-routes.js
(node) warning:
possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at EventEmitter.addListener (events.js:160:15)
at test (/Users/isao/Repos/wip/byway/node_modules/tape/index.js:73:11)
at Object.<anonymous> (/Users/isao/Repos/wip/byway/tests/name-routes.js:131:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:903:3
(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at EventEmitter.addListener (events.js:160:15)
at test (/Users/isao/Repos/wip/byway/node_modules/tape/index.js:79:11)
at Object.<anonymous> (/Users/isao/Repos/wip/byway/tests/name-routes.js:131:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:903:3
TAP version 13
# :names match complete filename
ok 1 (unnamed assert)
ok 2 should be equal
ok 3 should be equal
# :names match filename without the ".js"
ok 4 (unnamed assert)
ok 5 (unnamed assert)
ok 6 should be equal
ok 7 should be equal
ok 8 should be equal
ok 9 should be equal
# :names used to match mojito-style selectors
ok 10 (unnamed assert)
ok 11 (unnamed assert)
ok 12 (unnamed assert)
ok 13 (unnamed assert)
ok 14 (unnamed assert)
ok 15 (unnamed assert)
ok 16 (unnamed assert)
ok 17 (unnamed assert)
ok 18 (unnamed assert)
ok 19 (unnamed assert)
ok 20 (unnamed assert)
ok 21 (unnamed assert)
# :names matches strings containing dots and dashes
ok 22 (unnamed assert)
ok 23 (unnamed assert)
ok 24 (unnamed assert)
ok 25 (unnamed assert)
ok 26 should be equal
ok 27 should be equal
ok 28 should be equal
ok 29 should be equal
ok 30 should be equal
ok 31 should be equal
ok 32 should be equal
ok 33 should be equal
# matches partial :names separated by dots
ok 34 (unnamed assert)
ok 35 (unnamed assert)
ok 36 (unnamed assert)
ok 37 (unnamed assert)
ok 38 (unnamed assert)
ok 39 should be equal
ok 40 should be equal
ok 41 should be equal
ok 42 should be equal
ok 43 should be equal
ok 44 should be equal
ok 45 should be equal
ok 46 should be equal
ok 47 should be equal
ok 48 should be equal
# match •name route (i.e. want a name to capture .+? not just \w)
ok 49 (unnamed assert)
ok 50 (unnamed assert)
ok 51 (unnamed assert)
ok 52 (unnamed assert)
ok 53 (unnamed assert)
ok 54 (unnamed assert)
ok 55 (unnamed assert)
ok 56 (unnamed assert)
ok 57 (unnamed assert)
ok 58 (unnamed assert)
ok 59 (unnamed assert)
ok 60 (unnamed assert)
# matches :names numbers and underscores
ok 61 (unnamed assert)
ok 62 (unnamed assert)
ok 63 (unnamed assert)
ok 64 (unnamed assert)
ok 65 (unnamed assert)
ok 66 (unnamed assert)
ok 67 (unnamed assert)
ok 68 (unnamed assert)
ok 69 (unnamed assert)
ok 70 (unnamed assert)
ok 71 (unnamed assert)
ok 72 (unnamed assert)
ok 73 (unnamed assert)
ok 74 (unnamed assert)
ok 75 (unnamed assert)
ok 76 (unnamed assert)
ok 77 (unnamed assert)
ok 78 (unnamed assert)
ok 79 (unnamed assert)
ok 80 (unnamed assert)
ok 81 (unnamed assert)
ok 82 (unnamed assert)
ok 83 (unnamed assert)
ok 84 (unnamed assert)
ok 85 (unnamed assert)
ok 86 (unnamed assert)
ok 87 (unnamed assert)
ok 88 (unnamed assert)
# special regex characters in name patterns are allowed
ok 89 (unnamed assert)
ok 90 (unnamed assert)
ok 91 (unnamed assert)
ok 92 (unnamed assert)
ok 93 (unnamed assert)
ok 94 (unnamed assert)
ok 95 (unnamed assert)
ok 96 (unnamed assert)
# unmatched :routes
ok 97 (unnamed assert)
ok 98 (unnamed assert)
ok 99 (unnamed assert)
ok 100 (unnamed assert)
ok 101 (unnamed assert)
ok 102 (unnamed assert)
ok 103 (unnamed assert)
ok 104 (unnamed assert)
ok 105 (unnamed assert)
ok 106 (unnamed assert)
ok 107 (unnamed assert)
ok 108 (unnamed assert)
ok 109 (unnamed assert)
ok 110 (unnamed assert)
ok 111 (unnamed assert)
ok 112 (unnamed assert)
ok 113 (unnamed assert)
ok 114 (unnamed assert)
ok 115 (unnamed assert)
ok 116 (unnamed assert)
ok 117 (unnamed assert)
ok 118 (unnamed assert)
ok 119 (unnamed assert)
ok 120 (unnamed assert)
ok 121 (unnamed assert)
ok 122 (unnamed assert)
ok 123 (unnamed assert)
# match /modules/:modname/:filename.json
ok 124 match not $anchored
ok 125 match not $anchored
ok 126 match not $anchored
ok 127 match not $anchored
ok 128 match not $anchored
ok 129 match not $anchored
ok 130 match not $anchored
ok 131 match not $anchored
ok 132 match not $anchored
ok 133 match not $anchored
ok 134 match not ^anchored
ok 135 match not ^anchored
ok 136 match not ^anchored
ok 137 match not ^anchored
ok 138 match not ^anchored
ok 139 match not ^anchored
ok 140 match not ^anchored
ok 141 match not ^anchored
ok 142 match not ^anchored
ok 143 match not ^anchored
ok 144 match not ^anchored
ok 145 match not ^anchored
ok 146 match not ^anchored
ok 147 match not ^anchored
ok 148 match not ^anchored
ok 149 match not ^anchored
ok 150 match not ^anchored
ok 151 match not ^anchored
ok 152 match not ^anchored
ok 153 match not ^anchored
ok 154 named params match case-insensitively
ok 155 named params match case-insensitively
ok 156 named params match case-insensitively
ok 157 named params match case-insensitively
ok 158 named params match case-insensitively
ok 159 named params match case-insensitively
ok 160 named params match case-insensitively
ok 161 named params match case-insensitively
ok 162 named params match case-insensitively
ok 163 named params match case-insensitively
ok 164 all letters match case-insensitively
ok 165 all letters match case-insensitively
ok 166 all letters match case-insensitively
ok 167 all letters match case-insensitively
ok 168 all letters match case-insensitively
ok 169 all letters match case-insensitively
ok 170 all letters match case-insensitively
ok 171 all letters match case-insensitively
ok 172 all letters match case-insensitively
ok 173 all letters match case-insensitively
# match anchored$ /modules/:modname/:filename.json$
(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at EventEmitter.addListener (events.js:160:15)
at Stream.Render.push (/Users/isao/Repos/wip/byway/node_modules/tape/lib/render.js:29:7)
at run (/Users/isao/Repos/wip/byway/node_modules/tape/index.js:58:21)
at /Users/isao/Repos/wip/byway/node_modules/tape/index.js:98:59
at process._tickCallback (node.js:415:13)
at Function.Module.runMain (module.js:499:11)
at startup (node.js:119:16)
at node.js:903:3
ok 174 match not ^anchored
ok 175 match not ^anchored
ok 176 match not ^anchored
ok 177 match not ^anchored
ok 178 match not ^anchored
ok 179 match not ^anchored
ok 180 match not ^anchored
ok 181 match not ^anchored
ok 182 match not ^anchored
ok 183 match not ^anchored
ok 184 match not ^anchored
ok 185 match not ^anchored
ok 186 match not ^anchored
ok 187 match not ^anchored
ok 188 match not ^anchored
ok 189 match not ^anchored
ok 190 match not ^anchored
ok 191 match not ^anchored
ok 192 match not ^anchored
ok 193 match not ^anchored
ok 194 match not ^anchored
ok 195 match not ^anchored
ok 196 named params match case-insensitively
ok 197 named params match case-insensitively
ok 198 named params match case-insensitively
ok 199 named params match case-insensitively
ok 200 named params match case-insensitively
ok 201 named params match case-insensitively
ok 202 named params match case-insensitively
ok 203 named params match case-insensitively
ok 204 named params match case-insensitively
ok 205 named params match case-insensitively
ok 206 named params match case-insensitively
ok 207 all letters match case-insensitively
ok 208 all letters match case-insensitively
ok 209 all letters match case-insensitively
ok 210 all letters match case-insensitively
ok 211 all letters match case-insensitively
ok 212 all letters match case-insensitively
ok 213 all letters match case-insensitively
ok 214 all letters match case-insensitively
ok 215 all letters match case-insensitively
ok 216 all letters match case-insensitively
ok 217 all letters match case-insensitively
ok 218 match is $anchored
ok 219 match is $anchored
ok 220 match is $anchored
ok 221 match is $anchored
ok 222 match is $anchored
ok 223 match is $anchored
ok 224 match is $anchored
ok 225 match is $anchored
ok 226 match is $anchored
ok 227 match is $anchored
ok 228 match is $anchored
# match ^anchored ^/modules/:modname/:filename.json
ok 229 ^ but not $
ok 230 ^ but not $
ok 231 ^ but not $
ok 232 ^ but not $
ok 233 ^ but not $
ok 234 ^ but not $
ok 235 ^ but not $
ok 236 ^ but not $
ok 237 ^ but not $
ok 238 ^ but not $
ok 239 ^ but not $
ok 240 ^ but not $
ok 241 ^
ok 242 ^
ok 243 ^
ok 244 ^
ok 245 ^
ok 246 ^
ok 247 ^
ok 248 ^
ok 249 ^
ok 250 ^
ok 251 ^
ok 252 ^
ok 253 named params match case-insensitively
ok 254 named params match case-insensitively
ok 255 named params match case-insensitively
ok 256 named params match case-insensitively
ok 257 named params match case-insensitively
ok 258 named params match case-insensitively
ok 259 named params match case-insensitively
ok 260 named params match case-insensitively
ok 261 named params match case-insensitively
ok 262 named params match case-insensitively
ok 263 named params match case-insensitively
ok 264 named params match case-insensitively
ok 265 match not ^anchored
ok 266 match not ^anchored
ok 267 match not ^anchored
ok 268 match not ^anchored
ok 269 match not ^anchored
ok 270 match not ^anchored
ok 271 match not ^anchored
ok 272 match not ^anchored
ok 273 match not ^anchored
ok 274 match not ^anchored
ok 275 match not ^anchored
ok 276 match not ^anchored
ok 277 all letters match case-insensitively
ok 278 all letters match case-insensitively
ok 279 all letters match case-insensitively
ok 280 all letters match case-insensitively
ok 281 all letters match case-insensitively
ok 282 all letters match case-insensitively
ok 283 all letters match case-insensitively
ok 284 all letters match case-insensitively
ok 285 all letters match case-insensitively
ok 286 all letters match case-insensitively
ok 287 all letters match case-insensitively
ok 288 all letters match case-insensitively
# match ^anchored$ ^/modules/:modname/:filename.json$
ok 289 (unnamed assert)
ok 290 (unnamed assert)
ok 291 (unnamed assert)
ok 292 (unnamed assert)
ok 293 (unnamed assert)
ok 294 (unnamed assert)
ok 295 (unnamed assert)
ok 296 (unnamed assert)
ok 297 (unnamed assert)
ok 298 (unnamed assert)
ok 299 (unnamed assert)
ok 300 (unnamed assert)
ok 301 (unnamed assert)
ok 302 (unnamed assert)
ok 303 (unnamed assert)
ok 304 (unnamed assert)
ok 305 (unnamed assert)
ok 306 (unnamed assert)
ok 307 (unnamed assert)
ok 308 (unnamed assert)
ok 309 (unnamed assert)
ok 310 (unnamed assert)
ok 311 (unnamed assert)
ok 312 (unnamed assert)
ok 313 (unnamed assert)
ok 314 (unnamed assert)
ok 315 (unnamed assert)
ok 316 (unnamed assert)
ok 317 (unnamed assert)
ok 318 (unnamed assert)
ok 319 (unnamed assert)
ok 320 (unnamed assert)
ok 321 (unnamed assert)
ok 322 (unnamed assert)
ok 323 (unnamed assert)
ok 324 (unnamed assert)
ok 325 (unnamed assert)
ok 326 (unnamed assert)
ok 327 (unnamed assert)
# robots are coming
ok 328 (unnamed assert)
ok 329 (unnamed assert)
ok 330 (unnamed assert)
ok 331 (unnamed assert)
ok 332 (unnamed assert)
ok 333 (unnamed assert)
ok 334 (unnamed assert)
ok 335 (unnamed assert)
ok 336 (unnamed assert)
ok 337 (unnamed assert)
ok 338 (unnamed assert)
ok 339 (unnamed assert)
ok 340 (unnamed assert)
ok 341 (unnamed assert)
ok 342 (unnamed assert)
ok 343 (unnamed assert)
ok 344 (unnamed assert)
ok 345 (unnamed assert)
ok 346 (unnamed assert)
ok 347 (unnamed assert)
ok 348 (unnamed assert)
ok 349 (unnamed assert)
ok 350 (unnamed assert)
ok 351 (unnamed assert)
ok 352 (unnamed assert)
ok 353 (unnamed assert)
ok 354 (unnamed assert)
ok 355 (unnamed assert)
# tests/fixtures/newsboxes/mojits/Read/defaults.json
ok 356 (unnamed assert)
ok 357 (unnamed assert)
ok 358 (unnamed assert)
ok 359 (unnamed assert)
ok 360 (unnamed assert)
ok 361 (unnamed assert)
ok 362 (unnamed assert)
ok 363 (unnamed assert)
ok 364 (unnamed assert)
ok 365 (unnamed assert)
ok 366 (unnamed assert)
ok 367 (unnamed assert)
ok 368 (unnamed assert)
ok 369 (unnamed assert)
ok 370 (unnamed assert)
ok 371 should be equal
ok 372 should be equal
ok 373 should be equal
ok 374 should be equal
ok 375 should be equal
ok 376 should be equal
ok 377 should be equal
ok 378 should be equal
ok 379 should be equal
ok 380 should be equal
ok 381 should be equal
ok 382 should be equal
ok 383 should be equal
ok 384 should be equal
ok 385 should be equal
ok 386 should be equal
ok 387 should be equal
ok 388 should be equal
ok 389 should be equal
ok 390 should be equal
ok 391 should be equal
ok 392 should be equal
ok 393 should be equal
ok 394 should be equal
ok 395 should be equal
ok 396 should be equal
ok 397 should be equal
ok 398 should be equal
ok 399 should be equal
ok 400 should be equal
1..400
# tests 400
# pass 400
# ok
% node -v
v0.9.11
% npm ls |grep tape
└─┬ tape@0.3.0
% node tests/name-routes.js
TAP version 13
# :names match complete filename
ok 1 (unnamed assert)
ok 2 should be equal
ok 3 should be equal
# :names match filename without the ".js"
ok 4 (unnamed assert)
ok 5 should be equal
ok 6 should be equal
# :names used to match mojito-style selectors
ok 7 (unnamed assert)
ok 8 (unnamed assert)
ok 9 (unnamed assert)
ok 10 (unnamed assert)
# :names matches strings containing dots and dashes
ok 11 (unnamed assert)
ok 12 should be equal
ok 13 should be equal
# matches partial :names separated by dots
ok 14 (unnamed assert)
ok 15 should be equal
ok 16 should be equal
# match •name route (i.e. want a name to capture .+? not just \w)
ok 17 (unnamed assert)
ok 18 (unnamed assert)
# matches :names numbers and underscores
ok 19 (unnamed assert)
ok 20 (unnamed assert)
ok 21 (unnamed assert)
ok 22 (unnamed assert)
# special regex characters in name patterns are allowed
ok 23 (unnamed assert)
# unmatched :routes
ok 24 (unnamed assert)
ok 25 (unnamed assert)
ok 26 (unnamed assert)
# match /modules/:modname/:filename.json
ok 27 match not $anchored
ok 28 match not ^anchored
ok 29 match not ^anchored
ok 30 named params match case-insensitively
ok 31 all letters match case-insensitively
# match anchored$ /modules/:modname/:filename.json$
ok 32 match not ^anchored
ok 33 match not ^anchored
ok 34 named params match case-insensitively
ok 35 all letters match case-insensitively
ok 36 match is $anchored
# match ^anchored ^/modules/:modname/:filename.json
ok 37 ^ but not $
ok 38 ^
ok 39 named params match case-insensitively
ok 40 match not ^anchored
ok 41 all letters match case-insensitively
# match ^anchored$ ^/modules/:modname/:filename.json$
ok 42 (unnamed assert)
ok 43 (unnamed assert)
ok 44 (unnamed assert)
# robots are coming
ok 45 (unnamed assert)
ok 46 (unnamed assert)
# tests/fixtures/newsboxes/mojits/Read/defaults.json
ok 47 (unnamed assert)
ok 48 should be equal
ok 49 should be equal
1..49
# tests 49
# pass 49
# ok
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment