busterjs/buster

buster-server crash with IE 11 on W7 only if there is two browsers captured

blandine opened this issue · 4 comments

Hi,

I've found a bug with IE 11 on windows 7.
Config :
node 0.10.29
buster 0.7.13 beta 5
And I use buster-amd

Steps to reproduce :

  • Run buster-server
  • Connect with IE 11 on localhost:1111 and capture the browser
  • Open an other browser on localhost:1111 and capture
  • buster-server crash :
buster-server running on http://localhost:1111

undefined:24
  throw err;
        ^
TypeError: ejs:24
    22|         <ol class="browsers">
    23|           <% for (var i = 0, l = slaves.length; i < l; ++i) { %>
 >> 24|             <%
    25|               var agent = slaves[i], classes = [];
    26|
    27|               classes.push(agent.name.toLowerCase());

Cannot call method 'toLowerCase' of null
    at eval (eval at <anonymous> (C:\Users\Blandine\AppData\Roaming\npm\node_mo
dules\buster\node_modules\buster-server-cli\node_modules\ejs\lib\ejs.js:198:12),
 <anonymous>:32:39)
    at C:\Users\Blandine\AppData\Roaming\npm\node_modules\buster\node_modules\b
uster-server-cli\node_modules\ejs\lib\ejs.js:200:15
    at Object.exports.render (C:\Users\Blandine\AppData\Roaming\npm\node_module
s\buster\node_modules\buster-server-cli\node_modules\ejs\lib\ejs.js:235:13)
    at template (C:\Users\Blandine\AppData\Roaming\npm\node_modules\buster\node
_modules\buster-server-cli\lib\middleware.js:12:16)
    at Object.module.exports.serveTemplate (C:\Users\Blandine\AppData\Roaming\n
pm\node_modules\buster\node_modules\buster-server-cli\lib\middleware.js:52:17)
    at Object.module.exports.respond (C:\Users\Blandine\AppData\Roaming\npm\nod
e_modules\buster\node_modules\buster-server-cli\lib\middleware.js:42:18)
    at C:\Users\Blandine\AppData\Roaming\npm\node_modules\buster\node_modules\b
uster-server-cli\lib\server-cli.js:67:28
    at C:\Users\Blandine\AppData\Roaming\npm\node_modules\buster\node_modules\b
uster-server-cli\node_modules\ramp\lib\http-server-request-listener-proxy.js:17:
49
    at Array.forEach (native)
    at Server.<anonymous> (C:\Users\Blandine\AppData\Roaming\npm\node_modules\b
uster\node_modules\buster-server-cli\node_modules\ramp\lib\http-server-request-l
istener-proxy.js:17:26)

I've tried via a vm on windows 8 and I have the same issue.
Maybe I'm totally wrong, but I have noticed something else which could be related :
when you run buster-test on IE, the browser is identified by null/null :

buster1

It could explain why the agent.name is undefined...

Anyway, thank you for busterjs :)

@blandine, i am not able to crash the server this way. I can reproduce the problem with "null null" for the console log, but not the crash of the server. What do you see in the browser, in the list of captured slaves, for the IE11, when requesting http://localhost:1111? I see "IE 11.0 32-bit ...".

@blandine, now i can reproduce the server crash too.

@blandine, we need a newer version of platform in Buster.JS. I will fix that.

All modules of Buster.JS are now using version ~1.2 of platform.
Fixes: 7e80145271, eb653dcb62, 426dd495e8, 9feb31fc62

Update to version 0.7.14 of Buster.JS to fix the issue.