nthdimtech / signet-client

Client code for Signet and Signet HC
https://www.nthdimtech.com/signet
GNU General Public License v3.0
20 stars 8 forks source link

Windows desktop client 0.9.13 crashing #122

Closed izghitu closed 5 years ago

izghitu commented 5 years ago

Hi,

I updated my windows desktop signet client to the new 0.9.13 version. When I run it I am asked for the password of the signet device just fine, after I enter the password the device is opened and the data is displayed.

At the point where I click the button on my device, the windows desktop client appears, I double click the password I want to pass to the browser, the device flashes waiting for the button click and the windows desktop client just crashes and looking at the processes it is no longer running.

I am running Windows 10 64 bit, I disabled the antivirus and I tried different browsers.

Thanks

nthdimtech commented 5 years ago

I tried to reproduce on my windows 10 system with no luck. Have you tried this with different accounts? I'm also curious if it happens if you click "Open" and ask to type the information using the keyboard icons in the open dialog. You definitely shouldn't have to go to the open dialog to login to an account but this test will help me narrow down the problem.

izghitu commented 5 years ago

Just tried what you suggested and it works fine when clicking Open and then typing using the keyboard icon. In this case I have to manually switch to the browser window and click the field where the data should go.

Tried again with the Login button and it crashes. I also tried with Username and Password buttons and the same happens, it crashes. It seems that the crash happens during the automatic switch from the signet app to the browser.

nthdimtech commented 5 years ago

I am also curious if you ever tried to use the new browser plugin. All cases have to work but it would be good to know if the browser plugin is affected. I don't have good documentation on the plugin on the website yet but the essential information is in the campaign update: https://www.crowdsupply.com/nth-dimension/signet/updates/browser-plugin-support

I identified a possible cause. I had a bit of code that I forgot to delete that tries to display the button wait dialog after the dialog is backgrounded. Perhaps on some systems, depending on timing, this causes a crash in Qt. I created a new Windows binary with this fix:

https://www.nthdimtech.com/downloads/signet-releases/0.9.13/windows/signet-0.9.13.1-64bit.exe

If you don't see the problem in this binary I'll create new binaries for the other platforms and make it a new point release.

izghitu commented 5 years ago

I wanted to try the browser plugin and installed but then uninstalled because it does not work with http password auth which I am using a lot.

The http auth password window appears on top of the main FIrefox window and there's no possibility to click the plugin button because it is in the background.

Another problem with the browser plugin is that it is in the top right corner of the screen. I have a big 27 inch display and going with my mouse each time to that corner of the screen is a pain in the ass so it is easier for me to just click the signet device button to get the signet app on the screen.

I just tried the 0.9.13.1 version you uploaded and the problem is not fixed, the signet desktop client is still crashing.

Please let me know how to proceed further.

nthdimtech commented 5 years ago

Thanks for the feedback. I'll look into working with HTTP password auth. You can login to the current site without clicking the button with "CTRL+SHIFT+L". This works so long as there is only one account for the current URL.

My guess is that it's an uninitialized variable issue and on my system it happens to get initialized to something that doesn't crash the app, masking the problem. I'll do some deeper digging for this kind of thing. For now I suggest that you (or anyone else affected) switch back to 0.9.12.

izghitu commented 5 years ago

The ctrl+shift+l combination is good. I will play around with the plugin and let you know if any issues.

Thanks for your great work with the device and software, it made my work life a lot easier.

nthdimtech commented 5 years ago

Found a problem that could possibly be causing the crashes you're seeing but the link isn't clear. You can try the exe below:

https://www.nthdimtech.com/downloads/signet-releases/0.9.13/windows/signet-0.9.13.2-64bit.exe

izghitu commented 5 years ago

Same behavior, it crashes. I also just tested on another PC running Windows 10 and the same behavior, it crashes. One thing I noticed on the other PC which has the visual effects enabled in windows and is slower than mine. Just before the crash the signet window got smaller like the device was plugged out, it lasted half second. Also I got another window popped up saying that the password field it tried to enter contained characters not configured on the PCs keyboard and offered me to copy the password instead. I clicked the copy button and the window just closed.

Hope this helps.

nthdimtech commented 5 years ago

Minimization after recieving data is the new default behavior and I can see how it would look like a bug. Is it possible it's simply minimizing to the system tray? If you simply ignore the blinking light can you bring back the window after letting the blinking timeout?

On April 18, 2019 12:45:43 PM PDT, izghitu notifications@github.com wrote:

Same behavior, it crashes. I also just tested on another PC running Windows 10 and the same behavior, it crashes. One thing I noticed on the other PC which has the visual effects enabled in windows and is slower than mine. Just before the crash the signet window got smaller like the device was plugged out, it lasted half second. Also I got another window popped up saying that the password field it tried to enter contained characters not configured on the PCs keyboard and offered me to copy the password instead. I clicked the copy button and the window just closed.

Hope this helps.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/nthdimtech/signet-client/issues/122#issuecomment-484661634

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

izghitu commented 5 years ago

no, it is completely missing from processes

nthdimtech commented 5 years ago

Just to clarify then is the crash dependent on pressing the device button or does it happen when the command is received? If you skip pressing the button until the blinking stops is the client still alive?

On April 18, 2019 1:51:38 PM PDT, izghitu notifications@github.com wrote:

no, it is completely missing from processes

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/nthdimtech/signet-client/issues/122#issuecomment-484685594

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

izghitu commented 5 years ago

After I click the login button the client dies -> the device starts blinking. I would say it dies at the same time when the device starts blinking

nthdimtech commented 5 years ago

On the second system you seemed to have got further. You said you got a prompt to copy the password and that occurs after the button press. You mentioned it closed. Did it minimize or did it crash? Was there anything in the clipboard in the end?

Sorry for all the questions. In the next release I think I am going to enable crash logging so people can just send me crash logs to diagnose these kind of issues.

izghitu commented 5 years ago

On the second system after clicking login, the signet app was missing from systray but the device was flashing, I clicked the button on the device and then I got the popup about the keyboard.

I did not check the clipboard.

Yes, crash logs would be easier to handle.

nthdimtech commented 5 years ago

Again just to clarify. You said it was missing from the systray. To me the systray is area where background services are listed with small icons. Did you mean systray or the task tray where normal running programs are present?

izghitu commented 5 years ago

systray that is in the right buttom corner.

I will make a video tomorrowand send it to you, it is too late for me now

nthdimtech commented 5 years ago

I'm hoping you might not need to. I managed to finally reproduce the issue.

When I enable "minimize to system tray" in settings I noticed the application exits as you explained. When the window got hidden instead of minimized it triggered a Qt behavior that causes the application to quit if there are no visible windows. Qt states that this behavior doesn't always trigger which explains why this problem hasn't been noticed in the past. Anyways I turned off the behavior and only close the application explicitly and the problem goes away. Here is another exe to test:

https://www.nthdimtech.com/downloads/signet-releases/0.9.13/windows/signet-0.9.13.3-64bit.exe

nthdimtech commented 5 years ago

I've made a tentative point release with a fix for this issue and one more available on the usual downloads page

https://www.nthdimtech.com/signet/downloads/

Any chance you could validate that this newest release fixes the issue you found? What I was able to replicate matches your report but I want to be sure if possible before I close out the bug and notify the mailing list about this release.

izghitu commented 5 years ago

I am sorry for the delay with this. I just tested it and this one works. The desktop client no longer crashes.

Thanks a lot.

nthdimtech commented 5 years ago

No worries. Glad to hear it.