Skip to content
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

Segmentation fault on clicking system tray icon #621

Closed
adatum opened this issue May 5, 2017 · 34 comments
Closed

Segmentation fault on clicking system tray icon #621

adatum opened this issue May 5, 2017 · 34 comments
Assignees
Labels
Build ◦ Desktop Specific to desktop Build ◦ Linux Specific to Linux Build ◦ Windows Specific to Windows Type ◦ Bug Something isn't working
Milestone

Comments

@adatum
Copy link

adatum commented May 5, 2017

To reproduce, enable "minimize app instead of close" setting in desktop version of KeeWeb, click close, then a single left-click of the system tray icon crashes the program with a seg fault. Right-clicking works fine.

Ubuntu 16.04 32-bit, MATE desktop environment.

Version/user-agent info:

KeeWeb v1.4.1 (df218ae, 2017-03-26)
Environment: electron v1.4.15
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) KeeWeb/1.4.1 Chrome/53.0.2785.143 Electron/1.4.15 Safari/537.36
@antelle
Copy link
Member

antelle commented May 5, 2017

Is it officially supported by Electron? If you could try different Electron versions, it would help. I can make the build, if you want, do you have some time to debug?

@antelle antelle added Build ◦ Desktop Specific to desktop Build ◦ Linux Specific to Linux Type ◦ Bug Something isn't working labels May 5, 2017
@antelle
Copy link
Member

antelle commented May 5, 2017

Actually, there's a demo app: https://electron.atom.io/
Please try it and let me know if it fails on tray demo.

@adatum
Copy link
Author

adatum commented May 5, 2017

The built demo at https://electron.atom.io/ for linux is 64-bit only. I tried building the demo from source (had to install nodejs v4.2.6 and npm v3.5.2 from repos first), but building failed perhaps due to the nodejs and npm versions not being the latest (suggested in the error log).

Maybe I could try installing latest versions later... or is there something specific you'd like me to try?

It seems Electron binaries were built for 32- and 64-bit Ubuntu 12.04+ https://github.com/electron/electron/blob/master/docs/tutorial/supported-platforms.md

@antelle
Copy link
Member

antelle commented May 5, 2017

Yes, electron is built for both 32 and 64-bit (that's the build we're using to make 32-bit keeweb). I mean, probably this desktop environment is not supported? If 32-bit demo is not available, could you please run keeweb with the latest 32-bit electron?

@antelle
Copy link
Member

antelle commented May 5, 2017

I've built it for you: https://www.dropbox.com/s/7ccu7k2k3w30368/k32.zip?dl=0

@adatum
Copy link
Author

adatum commented May 5, 2017

Thanks for the build. I get an error when trying to run it: symbol lookup error: /home/[username]/Downloads/KeeWeb-1.4.1.linux.ia32/KeeWeb: undefined symbol: _ZN2v87Context3NewEPNS_7IsolateEPNS_22ExtensionConfigurationENS_5LocalINS_14ObjectTemplateEEENS5_INS_5ValueEEEj

@antelle
Copy link
Member

antelle commented May 5, 2017

Sorry, forgot to replace the executable. Could you please download this: https://github.com/electron/electron/releases/download/v1.6.8/electron-v1.6.8-linux-ia32.zip and replace KeeWeb with electron executable?

@adatum
Copy link
Author

adatum commented May 5, 2017

What do you mean? I tried copying electron from electron-v1.6.8-linux-ia32 directory into KeeWeb-1.4.1 and running KeeWeb executable. I also tried copying KeeWeb from KeeWeb-1.4.1 into the electron-v1.6.8-linux-ia32 directory and running KeeWeb. Both give undefined symbol errors.

I also tried running electron in electron-v1.6.8-linux-ia32 which asks for an app to run...

Sorry, I'm not familiar with electron...

@antelle
Copy link
Member

antelle commented May 5, 2017

copy electron from electron-v1.6.8-linux-ia32 into KeeWeb-1.4.1 and run electron.

@adatum
Copy link
Author

adatum commented May 5, 2017

./electron: symbol lookup error: ./electron: undefined symbol: UCNV_FROM_U_CALLBACK_SUBSTITUTE_58

@antelle
Copy link
Member

antelle commented May 5, 2017

Weird... Probably something is broken in new electron+keeweb.

@adatum
Copy link
Author

adatum commented May 5, 2017

I installed the latest versions of nodejs (v7.10.0) and npm (4.2.0), and built the electron demos. The tray icon demo works, i.e. a tray icon shows up, and clicking on it does not cause crashes. Is there anything else you'd like me to try?

@antelle antelle added the help wanted Help with these issues would be very welcome label May 6, 2017
@antelle antelle added this to the Future milestone May 6, 2017
@adatum
Copy link
Author

adatum commented May 20, 2017

I installed the linux 32-bit .deb (thanks!) for KeeWeb v1.5.0, which gives slighly more information on this crash:

/usr/bin/KeeWeb: line 2: 30878 Segmentation fault /opt/keeweb-desktop/KeeWeb --disable-updater "$1"

The five digit number (in this case, 30878) changes each time, but the rest is the same.

@antelle
Copy link
Member

antelle commented May 20, 2017

@adatum have you installed the dependencies? You can do it with:

apt-get install -f

I think, 30878 is some address in memory, not actually useful.

@adatum
Copy link
Author

adatum commented May 20, 2017

It seems so. The above command shows nothing to install. Is there an explicit list of dependencies for me to check?

Maybe the Lintian output for the .deb has some hints: https://gist.github.com/adatum/2f18948eb8e1f905a8484bdbf5cad07d

@antelle
Copy link
Member

antelle commented May 20, 2017

It means that the dependency is installed, it's libgconf-2. Probably the error is somewhere in electron, but we need to test it on newer versions. It's still the same, because there were errors with new version, so I haven't upgraded it.
I tried lintian long ago, and it shows a lot of warnings about keeweb, I understand exactly nothing of them. Some of this stuff belongs to electron, not keeweb. It's an issue for submission to store, but probably it's not the reason of this bug, so we're not going to fix them for now.
Is there anything in syslog?

@antelle
Copy link
Member

antelle commented May 20, 2017

Couple of related issues:
electron/electron#8525
electron/electron#9046

@adatum
Copy link
Author

adatum commented May 20, 2017

Good call on syslog :

KeeWeb[2412]: segfault at 4e455454 ip b6848e75 sp bf89f1a0 error 4 in libnode.so[b62e5000+13af000]

Googling suggests it might be due to electron or atom.

I'm not sure if those other issues are related, since I do get the indicator applet and have no problem with responsiveness.

@adatum
Copy link
Author

adatum commented May 21, 2017

I also tested on Gnome2 (Metacity and also Compiz), Gnome Shell, and the crash on left-clicking the taskbar icon happens on all of them just like with MATE. However, in Unity there is no problem.

@antelle
Copy link
Member

antelle commented May 21, 2017

Interesting. I'll try to repeat it, maybe there's a workaround. If you have a clue, please let me know.

@2gen
Copy link

2gen commented Jun 1, 2017

This happens to me on Windows as well. Windows 7 Home Premium:

<?xml version="1.0" encoding="UTF-16"?>
<WERReportMetadata>
	<OSVersionInformation>
		<WindowsNTVersion>6.1</WindowsNTVersion>
		<Build>7601 Service Pack 1</Build>
		<Product>(0x3): Windows 7 Home Premium</Product>
		<Edition>HomePremium</Edition>
		<BuildString>7601.23796.amd64fre.win7sp1_ldr.170427-1518</BuildString>
		<Revision>1130</Revision>
		<Flavor>Multiprocessor Free</Flavor>
		<Architecture>X64</Architecture>
		<LCID>1033</LCID>
	</OSVersionInformation>
	<ParentProcessInformation>
		<ParentProcessId>2500</ParentProcessId>
		<ParentProcessPath>C:\Windows\explorer.exe</ParentProcessPath>
		<ParentProcessCmdLine>C:\Windows\Explorer.EXE</ParentProcessCmdLine>
	</ParentProcessInformation>
	<ProblemSignatures>
		<EventType>APPCRASH</EventType>
		<Parameter0>KeeWeb.exe</Parameter0>
		<Parameter1>1.5.3.0</Parameter1>
		<Parameter2>5880f159</Parameter2>
		<Parameter3>node.dll</Parameter3>
		<Parameter4>6.5.0.0</Parameter4>
		<Parameter5>5880f113</Parameter5>
		<Parameter6>c0000005</Parameter6>
		<Parameter7>000000000036b37c</Parameter7>
	</ProblemSignatures>
	<DynamicSignatures>
		<Parameter1>6.1.7601.2.1.0.768.3</Parameter1>
		<Parameter2>1033</Parameter2>
		<Parameter22>845e</Parameter22>
		<Parameter23>845ea65962e3b2fa62eee8cc302bb3ef</Parameter23>
		<Parameter24>7d73</Parameter24>
		<Parameter25>7d739ceeaadb8eccec8578ce9babe938</Parameter25>
	</DynamicSignatures>
	<SystemInformation>
		<MID>6D2A447B-C6B6-4636-8E61-92E216B09614</MID>
		<SystemManufacturer>Dell Inc.</SystemManufacturer>
		<SystemProductName>XPS One 2710</SystemProductName>
		<BIOSVersion>A12</BIOSVersion>
	</SystemInformation>
</WERReportMetadata>
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="KeeWeb.exe" FILTER="CMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="d3dcompiler_47.dll" SIZE="4173928" CHECKSUM="0xFE690C6D" BIN_FILE_VERSION="6.3.9600.16384" BIN_PRODUCT_VERSION="6.3.9600.16384" PRODUCT_VERSION="6.3.9600.16384" FILE_DESCRIPTION="Direct3D HLSL Compiler for Redistribution" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="6.3.9600.16384 (winblue_rtm.130821-1623)" ORIGINAL_FILENAME="d3dcompiler_47.dll" INTERNAL_NAME="d3dcompiler_47.dll" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x406193" LINKER_VERSION="0x60003" UPTO_BIN_FILE_VERSION="6.3.9600.16384" UPTO_BIN_PRODUCT_VERSION="6.3.9600.16384" LINK_DATE="08/22/2013 11:15:54" UPTO_LINK_DATE="08/22/2013 11:15:54" EXPORT_NAME="D3DCOMPILER_47.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="ffmpeg.dll" SIZE="2267240" CHECKSUM="0xCED87019" MODULE_TYPE="WIN32" PE_CHECKSUM="0x238E29" LINKER_VERSION="0x0" LINK_DATE="01/18/2017 19:27:08" UPTO_LINK_DATE="01/18/2017 19:27:08" EXPORT_NAME="ffmpeg.dll" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="KeeWeb.exe" SIZE="88309360" CHECKSUM="0x421368E4" BIN_FILE_VERSION="1.5.3.0" BIN_PRODUCT_VERSION="1.5.3.0" PRODUCT_VERSION="1.5.3" FILE_DESCRIPTION="Free cross-platform password manager compatible with KeePass" COMPANY_NAME="KeeWeb" PRODUCT_NAME="KeeWeb" FILE_VERSION="1.5.3" ORIGINAL_FILENAME="KeeWeb.exe" INTERNAL_NAME="KeeWeb" LEGAL_COPYRIGHT="Copyright © 2017 Antelle" VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x544320D" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.5.3.0" UPTO_BIN_PRODUCT_VERSION="1.5.3.0" LINK_DATE="01/19/2017 17:03:21" UPTO_LINK_DATE="01/19/2017 17:03:21" EXPORT_NAME="electron.exe" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="libEGL.dll" SIZE="102536" CHECKSUM="0x7BD9BD13" BIN_FILE_VERSION="2.1.0.0" BIN_PRODUCT_VERSION="2.1.0.0" PRODUCT_VERSION="2.1.0.unknown hash" FILE_DESCRIPTION="ANGLE libEGL Dynamic Link Library" PRODUCT_NAME="ANGLE libEGL Dynamic Link Library" FILE_VERSION="2.1.0.unknown hash" ORIGINAL_FILENAME="libEGL.dll" INTERNAL_NAME="libEGL" LEGAL_COPYRIGHT="Copyright (C) 2015 Google Inc." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x20233" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="2.1.0.0" UPTO_BIN_PRODUCT_VERSION="2.1.0.0" LINK_DATE="01/18/2017 19:41:02" UPTO_LINK_DATE="01/18/2017 19:41:02" EXPORT_NAME="libEGL.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="libGLESv2.dll" SIZE="2924680" CHECKSUM="0x30433518" BIN_FILE_VERSION="2.1.0.0" BIN_PRODUCT_VERSION="2.1.0.0" PRODUCT_VERSION="2.1.0.unknown hash" FILE_DESCRIPTION="ANGLE libGLESv2 Dynamic Link Library" PRODUCT_NAME="ANGLE libGLESv2 Dynamic Link Library" FILE_VERSION="2.1.0.unknown hash" ORIGINAL_FILENAME="libGLESv2.dll" INTERNAL_NAME="libGLESv2" LEGAL_COPYRIGHT="Copyright (C) 2015 Google Inc." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x2D0A48" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="2.1.0.0" UPTO_BIN_PRODUCT_VERSION="2.1.0.0" LINK_DATE="01/18/2017 19:40:53" UPTO_LINK_DATE="01/18/2017 19:40:53" EXPORT_NAME="libGLESv2.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="node.dll" SIZE="16704624" CHECKSUM="0x667B4443" BIN_FILE_VERSION="6.5.0.0" BIN_PRODUCT_VERSION="6.5.0.0" PRODUCT_VERSION="6.5.0" FILE_DESCRIPTION="Node.js: Server-side JavaScript" COMPANY_NAME="Node.js" PRODUCT_NAME="Node.js" FILE_VERSION="6.5.0" ORIGINAL_FILENAME="node.exe" INTERNAL_NAME="node" LEGAL_COPYRIGHT="Copyright Node.js contributors. MIT license." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0xFEE9D9" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="6.5.0.0" UPTO_BIN_PRODUCT_VERSION="6.5.0.0" LINK_DATE="01/19/2017 17:02:11" UPTO_LINK_DATE="01/19/2017 17:02:11" EXPORT_NAME="node.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="uninst.exe" SIZE="425096" CHECKSUM="0xD7FB9F97" MODULE_TYPE="WIN32" PE_CHECKSUM="0x752E8" LINKER_VERSION="0x60000" LINK_DATE="07/25/2016 00:55:41" UPTO_LINK_DATE="07/25/2016 00:55:41" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="xinput1_3.dll" SIZE="107368" CHECKSUM="0x705A33A2" BIN_FILE_VERSION="9.18.944.0" BIN_PRODUCT_VERSION="9.18.944.0" PRODUCT_VERSION="9.18.944.0000" FILE_DESCRIPTION="Microsoft Common Controller API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® DirectX for Windows®" FILE_VERSION="9.18.944.0000" ORIGINAL_FILENAME="XInput1_3.dll" INTERNAL_NAME="XInput" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x2415A" LINKER_VERSION="0x50002" UPTO_BIN_FILE_VERSION="9.18.944.0" UPTO_BIN_PRODUCT_VERSION="9.18.944.0" LINK_DATE="04/05/2007 00:53:49" UPTO_LINK_DATE="04/05/2007 00:53:49" EXPORT_NAME="XINPUT1_3.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" />
</EXE>
<EXE NAME="node.dll" FILTER="CMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="node.dll" SIZE="16704624" CHECKSUM="0x667B4443" BIN_FILE_VERSION="6.5.0.0" BIN_PRODUCT_VERSION="6.5.0.0" PRODUCT_VERSION="6.5.0" FILE_DESCRIPTION="Node.js: Server-side JavaScript" COMPANY_NAME="Node.js" PRODUCT_NAME="Node.js" FILE_VERSION="6.5.0" ORIGINAL_FILENAME="node.exe" INTERNAL_NAME="node" LEGAL_COPYRIGHT="Copyright Node.js contributors. MIT license." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0xFEE9D9" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="6.5.0.0" UPTO_BIN_PRODUCT_VERSION="6.5.0.0" LINK_DATE="01/19/2017 17:02:11" UPTO_LINK_DATE="01/19/2017 17:02:11" EXPORT_NAME="node.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="CMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1163264" CHECKSUM="0x50C4B347" BIN_FILE_VERSION="6.1.7601.23796" BIN_PRODUCT_VERSION="6.1.7601.23796" PRODUCT_VERSION="6.1.7601.18015" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="6.1.7601.18015 (win7sp1_gdr.121129-1432)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x120883" LINKER_VERSION="0x60001" UPTO_BIN_FILE_VERSION="6.1.7601.23796" UPTO_BIN_PRODUCT_VERSION="6.1.7601.23796" LINK_DATE="04/28/2017 01:12:51" UPTO_LINK_DATE="04/28/2017 01:12:51" EXPORT_NAME="KERNEL32.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" />
</EXE>
</DATABASE>

@antelle
Copy link
Member

antelle commented Jun 1, 2017

@2gen with the same steps?

@2gen
Copy link

2gen commented Jun 1, 2017

@antelle Yes, same steps. Enable 'minimize app instead of close' and then close the application. Single click the tray icon, crash. Version 1.5.3.

@antelle antelle added the Build ◦ Windows Specific to Windows label Jun 1, 2017
@antelle
Copy link
Member

antelle commented Jun 1, 2017

In v1.6 we'll update electron, we'll see if it persists.

antelle pushed a commit that referenced this issue Jun 5, 2017
@antelle
Copy link
Member

antelle commented Jun 5, 2017

Fixed Windows crash, but I can't test it on Linux, because in ubuntu unity, there's no possibility to click on tray icon.

@antelle antelle modified the milestones: v1.6, Future Jun 5, 2017
@antelle antelle removed the help wanted Help with these issues would be very welcome label Jun 5, 2017
@antelle antelle self-assigned this Jun 5, 2017
@2gen
Copy link

2gen commented Jun 5, 2017

It is still crashing for me.

KeeWeb v1.5.4 (b730cbd, 2017-06-03)
Environment: electron v1.4.15
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) KeeWeb/1.5.3 Chrome/53.0.2785.143 Electron/1.4.15 Safari/537.36

@antelle
Copy link
Member

antelle commented Jun 5, 2017

Of course, it's not released.

@adatum
Copy link
Author

adatum commented Jun 5, 2017

Fixed Windows crash, but I can't test it on Linux, because in ubuntu unity, there's no possibility to click on tray icon.

The crash was never in Unity; it's in Gnome2, Gnome Shell, MATE, etc

If you can make a build available, I'll test it.

@antelle
Copy link
Member

antelle commented Jun 5, 2017

@adatum
Copy link
Author

adatum commented Jun 5, 2017

Excellent. The crash is solved in linux 32 bit, tested with MATE, Gnome2, Gnome Shell, (and Unity still works as before).

@antelle
Copy link
Member

antelle commented Jun 5, 2017

Cool, thanks for testing, then it's fixed everywhere, probably.
Tray icon was destroyed in its click event handler.

alex-shpak pushed a commit to alex-shpak/keeweb that referenced this issue Jun 23, 2017
alex-shpak pushed a commit to alex-shpak/keeweb that referenced this issue Jun 23, 2017
alex-shpak pushed a commit to alex-shpak/keeweb that referenced this issue Jun 24, 2017
@LiloBzH
Copy link

LiloBzH commented Aug 27, 2017

Hi

ETA for next update for windows ? or beta version ?
This bug is really annoying

Thanks :)

@antelle
Copy link
Member

antelle commented Aug 30, 2017

@LiloBzH it's released, please update

@LiloBzH
Copy link

LiloBzH commented Aug 30, 2017

Yes ! Update done and it's ok 👍

@antelle antelle modified the milestones: v1.5.x, v1.6 Aug 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build ◦ Desktop Specific to desktop Build ◦ Linux Specific to Linux Build ◦ Windows Specific to Windows Type ◦ Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants