element-desktop icon indicating copy to clipboard operation
element-desktop copied to clipboard

libsqlcipher1 support

Open neochine opened this issue 1 year ago • 18 comments

Steps to reproduce

libsqlcipher.so.0 Seshat unexpected error: Error: libsqlcipher.so.0: cannot open shared object file: No such file or directory at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:2238) at Module._extensions..node (node:internal/modules/cjs/loader:1356:18) at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2465) at Module.load (node:internal/modules/cjs/loader:1126:32) at Module._load (node:internal/modules/cjs/loader:967:12) at l._load (node:electron/js2c/asar_bundle:2:13642) at Module.require (node:internal/modules/cjs/loader:1150:19) at require (node:internal/modules/cjs/helpers:119:18) at Object. (/opt/Element/resources/app.asar/node_modules/matrix-seshat/index.js:16:22) at Module._compile (node:internal/modules/cjs/loader:1271:14) { code: 'ERR_DLOPEN_FAILED' } /root/.config/Element exists: no /root/.config/Riot exists: no Starting auto update with base URL: https://packages.element.io/desktop/update/ Auto update not supported on this platform Fetching translation json for locale: en_EN Resetting the UI components after locale change [101764:0219/185556.590530:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service. [101764:0219/185556.722120:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service. [101764:0219/185556.787840:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service. ^C[101764:0219/185556.839146:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service. sudo apt-get install libsqlcipher0 Reading package lists... Done Building dependency tree... Done Reading state information... Done Package libsqlcipher0 is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source

E: Package 'libsqlcipher0' has no installation candidate

Outcome

Run normally. It produces blank screen

Operating system

Debian (kali linux)

Application version

Latest today

How did you install the app?

From element website. 1990 sudo wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg 1991 ‍ 1992 echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | sudo tee /etc/apt/sources.list.d/element-io.list 1993 sudo apt update 1994 sudo apt install element-desktop

Homeserver

No response

Will you send logs?

Yes

neochine avatar Feb 19 '24 13:02 neochine

Cannot reproduce the blank screen.

image image After setting up a keyring passphrase: image

The libsqlcipher error is due to Kali not installing recommended packages by default. libsqlcipher is a recommended dependency, not all vendors have it available. Without libsqlcipher seshat will not function and you will not have encrypted search.

t3chguy avatar Feb 19 '24 17:02 t3chguy

image I am running i3wm on xfce. Yours looks gnome. Maybe its keyring related? image I see this popping up in side bar. Clicking green element gives me this image

neochine avatar Feb 29 '24 15:02 neochine

You can use Ctrl+Shift+I on that blank page to see what is the underlying error in the renderer process

t3chguy avatar Feb 29 '24 15:02 t3chguy

image image

neochine avatar Feb 29 '24 15:02 neochine

Anything earlier in the stdout?

https://private-user-images.githubusercontent.com/150173528/308981717-3f280137-45df-4d12-baa1-ff1d165b7a1c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyMjI1MjMsIm5iZiI6MTcwOTIyMjIyMywicGF0aCI6Ii8xNTAxNzM1MjgvMzA4OTgxNzE3LTNmMjgwMTM3LTQ1ZGYtNGQxMi1iYWExLWZmMWQxNjViN2ExYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwMjI5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDIyOVQxNTU3MDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01NWFjZWQ3ZTBhMjJjMzJkZDZkMTNiOWI4MDY1ZDEyZDBiYWIwODM1MGQzNzJiYmEwZmZlMjFmMzgzMDNmNjAwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.wHqaqnQ_WDcNuBMH36gj40S5IJCcXn4c-4vRHTnVKJw

t3chguy avatar Feb 29 '24 16:02 t3chguy

Seshat unexpected error: Error: libsqlcipher.so.0: cannot open shared object file: No such file or directory
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:2238)
    at Module._extensions..node (node:internal/modules/cjs/loader:1356:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2465)
    at Module.load (node:internal/modules/cjs/loader:1126:32)
    at Module._load (node:internal/modules/cjs/loader:967:12)
    at l._load (node:electron/js2c/asar_bundle:2:13642)
    at Module.require (node:internal/modules/cjs/loader:1150:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (/opt/Element/resources/app.asar/node_modules/matrix-seshat/index.js:16:22)
    at Module._compile (node:internal/modules/cjs/loader:1271:14) {
  code: 'ERR_DLOPEN_FAILED'
}
/root/.config/Element exists: no
/root/.config/Riot exists: no
Starting auto update with base URL: https://packages.element.io/desktop/update/
Auto update not supported on this platform
Fetching translation json for locale: en_EN
Resetting the UI components after locale change
[164950:0229/215021.752643:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215021.857453:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215021.936105:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.061972:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.120543:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
^[[A^[[A^[[A[164950:0229/215022.178757:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.227897:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.281881:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.330425:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.378005:ERROR:network_service_instance_impl.cc(601)] Network se                                                                                     rvice crashed, restarting service.                                                                                                                                     
[164950:0229/215022.438228:ERROR:network_service_instance_impl.cc(601)] Network se                                                                                     rvice crashed, restarting service.
[164950:0229/215022.502585:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.548774:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.601632:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.650584:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.698302:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.749326:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.798158:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.846191:ERROR:network_service_instance_impl.cc(601)] Network service crashed, restarting service.
[164950:0229/215022.894616:ERROR:network_service_instance_impl.cc(601)] Network s```

neochine avatar Feb 29 '24 16:02 neochine

This seems like an upstream Electron issue which is specific to your environment

t3chguy avatar Feb 29 '24 16:02 t3chguy

Is there a way to debug? I am trying npm install electron -g or try to upgrade it. Discord is also electron based afaik and it works alright

neochine avatar Feb 29 '24 16:02 neochine

I am also running it on root. So all chromium based/node based application including discord, element-desktop requires --no-sandbox. Is there any root check or sandboxing thats potentially causing this?

neochine avatar Feb 29 '24 16:02 neochine

I am also running it on root. So all chromium based/node based application including discord, element-desktop requires --no-sandbox. Is there any root check or sandboxing thats potentially causing this?

Possibly, but it'd be within Electron, not the app code

t3chguy avatar Feb 29 '24 17:02 t3chguy

@neochine are you still experiencing this? I had the same issue but it was fixed with the upgrade to electron29.

bblacher avatar Apr 08 '24 16:04 bblacher

I will try updating to Electron29 and retrying!

neochine avatar Apr 09 '24 09:04 neochine

@neochine Did that solve your issue?

bblacher avatar Apr 13 '24 09:04 bblacher

Not really, launching element-desktop after updating electron still shows same blank screen. I guess the issue can be closed though given its not element related but electron related. I am using web element for now electron --version --no-sandbox v29.3.0

@bblacher This also doesnt work

 /usr/local/lib/node_modules/electron/dist/electron --no-sandbox /usr/bin/element-desktop
App threw an error during load
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension "" for /opt/Element/element-desktop
   at new NodeError (node:internal/errors:406:5)
   at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:100:9)
   at defaultGetFormat (node:internal/modules/esm/get_format:143:36)
   at defaultLoad (node:internal/modules/esm/load:119:20)
   at ModuleLoader.load (node:internal/modules/esm/loader:396:13)
   at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:278:56)
   at new ModuleJob (node:internal/modules/esm/module_job:65:26)
   at #createModuleJob (node:internal/modules/esm/loader:290:17)
   at ModuleLoader.getJobFromResolveResult (node:internal/modules/esm/loader:248:34)
   at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:229:17)
A JavaScript error occurred in the main process
Uncaught Exception:
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension "" for /opt/Element/element-desktop
   at new NodeError (node:internal/errors:406:5)
   at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:100:9)
   at defaultGetFormat (node:internal/modules/esm/get_format:143:36)
   at defaultLoad (node:internal/modules/esm/load:119:20)
   at ModuleLoader.load (node:internal/modules/esm/loader:396:13)
   at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:278:56)
   at new ModuleJob (node:internal/modules/esm/module_job:65:26)
   at #createModuleJob (node:internal/modules/esm/loader:290:17)
   at ModuleLoader.getJobFromResolveResult (node:internal/modules/esm/loader:248:34)
   at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:229:17)

neochine avatar Apr 15 '24 13:04 neochine

Are you running element desktop as root?

bblacher avatar Apr 15 '24 13:04 bblacher

Yes. I use mostly root user so I need --no-sandbox. Discord & Session is electron based and works fine

neochine avatar Apr 15 '24 13:04 neochine

The libsqlcipher error is due to Kali not installing recommended packages by default. libsqlcipher is a recommended dependency, not all vendors have it available. Without libsqlcipher seshat will not function and you will not have encrypted search.

No it's not. The root problem is, Debian renamed package libsqlcipher0 to libsqlcipher1 in Debian testing, and Kali Linux is based on Debian testing. Without package named libsqlcipher0 to install, the recommended package is not installed.

You need to install libsqlcipher1 to provide that shared library file.

In a terminal window, apt install libsqlcipher0 returns "libsqlcipher0 has no installation candidate", and searching "libsqlcipher" resulted in a similarly-named "libsqlcipher1" which is the original "libsqlcipher0" package required by element-desktop

Currently I recommend that package element-desktop's recommended packages being modified to either libsqlcipher0 (can be satisfied if installing on Debian stable) or libsqlcipher1 (can be satisfied if installing on Debian testing and its derivatives) so they will be installed either way.

Also why is this a "recommended" package? If element-desktop depends on that it should be set as a dependency that must be satisfied IMO.

DarkmatterUAE avatar May 08 '24 10:05 DarkmatterUAE

The issue seems to be unrelated to libsqlcipher I think. Its needed for only encrypted search as the dev said. Perhaps opening new issue to fulfill libsqlcipher problems (moving it from recommended to required?). Regardless, not sure why element seems to be producing blank screen given I have run few electron based apps with no issue.

neochine avatar May 08 '24 13:05 neochine