-
-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash (segfault, SIGILL) when using proxy with user and password #1211
Comments
Hi @smanolache , what happens if you don't provide the proxy configuration? I haven't experience anything like this before but I don't use a proxy. |
When no proxy is needed it works fine. But I have to use a proxy when working remotely. |
The problem is that the proxy requires authentication. If I use a proxy that does not require authentication then it works ok. I expect a dialog window to pop up in which I would type the proxy user and password. Sometimes I do see that dialog window for a couple of milliseconds, then the program crashes and the main window and dialog window disappear. |
Are you able to use a client certificate/password? If so, try using the config options clientCertPath and clientCertPassword. We have seen proxy issues in the past and sometimes are really strange but using a cert seems to bypass them. This might be the same as older issues like #314 (it might be that you need to import your company certificates in chrome if they are self sign), #645 (that ended up adding that client cert) or maybe another one of the closed issues, but those are the ones that I can see as more relevant. Hope helps! |
No, I do not authenticate by certificate. The problem is not authenticating my user on teams. The problem is authenticating with the http proxy. Only after the proxy accepts my requests I can go on to the teams server. If there is no proxy then everything goes fine. So, for example, when I'm at work, on the company's network, I need no proxy and everything goes fine. But when I am at home I must use a VPN and on this network I have to use an authenticating proxy. The proxy is very simple: just plain http (no https/SSL), with basic auth, username and password. The program crashes before being offered the dialog window in which I type my proxy username and password. There was a previous version of teams-for-linux (unfortunately I do not remember which one) that crashed most of the times but not always. From time to time, instead of crashing it popped up an alert window in which it said that some javascript object is null. I think the error is there. There must be some race-condition. But I cannot reproduce. Please try to reproduce. The setup is quite simple: just configure an authenticating proxy (with user and password) and run teams-for-linux with the --proxyServer argument. |
If it is refreshing, it might be the onlineCheckMethod. If you can try changing this to none? Unfortunately, I don't have the option/time to be checking configurations. Apologies but I don't even have a linux machine what would make any test mostly redundant. |
Wait what you dont own a Linux Machine? |
not anymore... my work laptop was move to MacOS and my home laptop... well... died. So supporting this is a bit of an interesting challenge :) |
Uffff. Why just not use a VM? |
lets say I work in a highly regulated industry and the MacOS is pretty much locked down. But so far managing (already more than 3 years like this) so is fine. The community helps a lot |
I'm using a proxy, additionally over VPN.
BTW, I was forced to look for alternatives to the long retired MS app, and this started fine without anything, then asked for a new mode, this also works, so it's great, thank you Ismael! |
@pkitszel is it an authenticating proxy? I.e. do you need to pass a username and password to it? Does teams pop a dialog window in which you type your proxy username and password? |
As shown in the video I have posted, teams crashes, restarts, crashes again, and so on in a loop. I let the crash-restart loop run and it stopped eventually with an error dialog window. It says: "Uncaught Exception: Once I click "Ok" on the dialog window, the crash-restart loop continues. |
It makes no difference. |
Have you tried running the proxy server in a different port? Those logs
really look like they are clashing what sort of makes sense to me. That
would trigger a crash that triggers a refresh.
If that is the case I can try to put a wee config option/flag tomorrow so
to disable the background logic and/or make that area more resilient.
…On Thu, 25 Apr 2024, 21:51 smanolache, ***@***.***> wrote:
It makes no difference.
—
Reply to this email directly, view it on GitHub
<#1211 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADJHEHJ7TO52EIVV4LW63TY7FUGFAVCNFSM6AAAAABGOW4HVWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZYGE2TCOJXG4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
I do not administrate the proxy server, it is managed by my employer. I submitted a bug report. I am not looking for a work-around or wild guesses. In case of bug reports I think it is common practice to acknowledge or refute the described problem. Could you please try to reproduce? Could you please answer the following question: Does teams-for-linux crash when using an authenticating proxy? It does crash on my machine, I would like a confirmation that it is a problem encountered by others, or the opposite: a proof that it works. I repeat: an authenticating proxy. For one week only speculations and guesses but, afaik, no confirmation of the problem, no attempt to reproduce. You seem to overlook the crash and the gdb output. When I say "crash" it is not that the window is not displayed, but I mean that a process is killed by the operating system because some violation. In this case it is a SIGILL signal. My hypothesis is the following: When using no proxy or a non-authenticating proxy any network request succeeds and there is no error. When, however, the proxy is authenticating, then it will return HTTP 407 Proxy Authentication Required. The javascript code must react to that and pop up a dialog window in which the user types the proxy user name and password. All http requests that are issued before submitting the proxy credentials will fail. The executable is a node (javascript) interpreter. The javascript handling the proxy authentication has some nasty error and makes the interpreter crash. The entire application is made of several processes. I suppose they communicate in some way. As one of them dies, the other processes cannot initialize the application correctly. The key to the investigation is to check why one of the processes crashes. |
Proxy works for other users. We are trying to help you here, so please I kindly ask you to remember that when writing messages. I think it has nothing to do with the proxy but with the background images, we don't do anything fancy with the proxy. I will see if I can have a look later |
ok, if you get the latest pre-release (1.4.31) and start it with |
Authenticating proxies? Is there someone who can come forward and claim that it works for them when using an authenticating proxy? |
we don't add any specific logic for proxies and just use what electron provides. Meaning, it might be an electron issue. Feel free to report in there https://github.com/electron/electron/issues Unfortunately we can't re-produce every single scenario and/or test them and, to be honest, adding proxies in the mix only makes it even more complicated. If you can confirm if the flag changes anything for you, that helps us narrow down the possible options. Sometimes we can work around issue by adding specific code, but we will need your collaboration, otherwise we are blind. Please understand we aren't providing a paid service here. I sense frustration in your writing and if you need to vent your frustration do it with Microsoft that should be providing a client for you instead of you needing to use this community driven product. If you try the options we are giving you and provide as much information as you can on the back of them (console logs etc), then we might be able to work together to find a solution to your problem. |
ugh, sorry, NO apologies for confusion |
I've tried with Google found these issues: Both are closed though. It seems there was (is?) a problem with authenticating proxies in electron. |
yep, it does look that proxy would require adding some code to handle it. Easier said than done but it might just be a matter of adding something like this:
around teams-for-linux/app/mainAppWindow/index.js Line 381 in 0330cc0
And to add that 'localProxy' as an option that can be configured in https://github.com/IsmaelMartinez/teams-for-linux/blob/0330cc0e863dcad4cc6380d62aeaba0e3a1502f6/app/config/index.js But there is a lot of magic/crazy logic happening in that area, so it might just break altogether. I will see if I can get some time this week to create a wee PoC so you can validate if it works. |
I go through this every day. And an alternative to escape this looping was the configuration below that I go through parameters: Add args in app/config/index.js
Add args in call function in app/mainAppWindow/index.js login.handleLoginDialogTry(window,config.userProxy,config.passwordProxy);
Add arguments in proxy authentication calls in app/login/index.js
And for me it works like this:
I know it's something that could be done better as an automatic login without having to click OK. I believe that automatic login would even solve this problem. PS: The logic of that window that asks for username and password occurs in this app/login folder |
I believe that the way to make it automatic is to submit the username and password as soon as there is a login event. When the "login" event occurs, the authentication window is called.
app/login/index.js:
|
Ok, I think we can use the |
I am renaming those properties to ssoBasicAuthUser and ssoBasicAuthPasswordCommand in v1.5.0 |
Describe the bug
teams-for-linux --proxyServer=host:port crashes (dumps core) and restarts in an infinite loop. The proxy server requires authentication so I expected the user/pass dialog.
To Reproduce
Run teams-for-linux --proxyServer=proxy:port with a proxy requiring authentication
Expected behavior
I expect the dialog window to introduce my user and password for proxy authentication
Screenshots
Attached video.
Desktop (please complete the following information):
Linux hostname 6.7.9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.7.9-2 (2024-03-13) x86_64 GNU/Linux
Debug
Here's the debug output in the console:
Additional context
I've attached the output of gdb.
teams-for-linux-gdb.txt
teams-for-linux.mp4
The text was updated successfully, but these errors were encountered: