Jenkins - Microsoft Edge failed to start: crashed

Previously I had an issue connecting a windows agent to Jenkins. Then “This question” I referred and now I have connected a windows agent to Jenkins using a service wrapper.

But now the issue is, for doing the automation test “microsoft edge” browser should be launched while executing the pipeline. Now I am getting this error.


**Microsoft Edge WebDriver was started successfully.**
**[ERROR] Tests run: 15, Failures: 1, Errors: 0, Skipped: 14, Time elapsed: 2.794 s <<< FAILURE! - in TestSuite**
**[ERROR] beforeMethod(abc.test.Route)  Time elapsed: 1.605 s  <<< FAILURE!**
**org.openqa.selenium.WebDriverException: **
**unknown error: Microsoft Edge failed to start: crashed.**
**  (unknown error: DevToolsActivePort file doesn't exist)**
**  (The process started from msedge location C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe is no longer running, so msedgedriver is assuming that msedge has crashed.)**
**Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'**
**System info: host: 'xxxxxx', ip: 'xxxxxx', os.name: 'Windows Server 2016', os.arch: 'amd64', os.version: '10.0', java.version: '11'**
**Driver info: driver.version: EdgeDriver**
**remote stacktrace: Backtrace:**
**    GetHandleVerifier [0x00007FF66B3F4AD2+67490]**
**    Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF66B38B242+782402]**
**    (No symbol) [0x00007FF66B12C646]**
**    (No symbol) [0x00007FF66B15A5A1]**
**    (No symbol) [0x00007FF66B155941]**
**    (No symbol) [0x00007FF66B195A35]**
**    (No symbol) [0x00007FF66B18DD23]**
**    (No symbol) [0x00007FF66B162794]**
**    (No symbol) [0x00007FF66B1619B0]**
**    (No symbol) [0x00007FF66B162F04]**
**    Microsoft::Applications::Events::ILogManager::DispatchEventBroadcast [0x00007FF66B5B90D3+1301571]**
**    (No symbol) [0x00007FF66B1EB951]**
**    Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF66B2D46C1+33985]**
**    Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF66B2CCAF5+2293]**
**    Microsoft::Applications::Events::ILogManager::DispatchEventBroadcast [0x00007FF66B5B7E33+1296803]**
**    Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF66B392589+811913]**
**    Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF66B38EF04+797956]**
**    Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF66B38EFFC+798204]**
**    Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF66B3850B1+757425]**
**    BaseThreadInitThunk [0x00007FF92F4784D4+20]**
**    RtlUserThreadStart [0x00007FF9306D1791+33]**

**    at abc.test.Route.beforeMetho**d(Route.java:30)

when I execute directly on the server without using jenkins it executes perfectly. I think the reason is jenkins using a service account and that doesn’t allow to launch ms edge. Any solution for this ?

Thanks is advance…!

Windows services can not interact with the desktop. If you need to run UI based applications on a Windows agent, you need to launch an agent as the user while logged in as that user.

2 Likes

Hi Alex, Thanks for the reply.
The thing is this windows server is a remote server which I connect from RDP. when I execute agent jar with the cmd command its connecting and executing everything fine, but when my RDP session expires server disconnects from jenkins. I cant always be logged into server from RDP. Thats why I am executing agent.jar from a service account. Is it possible to connect a windows agent to jenkins and keep it always connected without using JNLP connection.

Trying to do gui stuff on windows requires an active UI session. There is not an easy or well documented way on how to do it. You basically need to have a UI session that is running the agent via command and not service. There used to be a way to allow services to interact with the desktop, but MS removed that

1 Like

Oops. our infra plan is to run automation tests via jenkins on a windows machine. Then this looks impossible. :expressionless:

Have you considered configuring an auto-login account on the Windows machine that then has an autostart script that runs the Jenkins inbound agent? It means that anyone with access to the keyboard of the machine can operate as the user that performed the autologin, but I would think it would work.

1 Like

Hi Mark, Cool idea… I should try this. Thank you :slightly_smiling_face:

Hi kasun,

Just wished to reach out and say thanks for starting this discussion thread. Thanks to this we were also able to fix a same scenario we were facing.

Hoping you were also able to get this addressed. If not, do let me know and I can share what I did to fix it.

Thanks Again!!

1 Like

Hi Vishnu,

We are also facing the same issue with edge browser.

Could you please share the fix that you have done.

Thanks,
Anand

Hi Anand,

We fixed this by creating a new User account on the machine and then instead of using the wrapper service to connect to Jenkins Server, we used CMD. The command looks something like this:

java -jar agent.jar -jnlpUrl /computer//jenkins-agent.jnlp

Run this command via CMD in admin mode and you should be able to connect and Edge will start to open as expected.

Use the below command if you do not have the agent.jar file:
curl.exe -sO /jnlpJars/agent.jar and it will downloaded in the location shown by CMD.