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

appimage hangs on startup #358

Open
AgyarJanos opened this issue Apr 29, 2024 · 8 comments
Open

appimage hangs on startup #358

AgyarJanos opened this issue Apr 29, 2024 · 8 comments

Comments

@AgyarJanos
Copy link

Bug Description:

trying to start appimage. worked fine, then started hanging on 2 separate computers a couple of days ago. now works on one, not the other.

Steps to Reproduce:

  1. start appimage
  2. hangs.

Additional Information

  • Operating System: arch linux
  • Theia Version: 1.48.300
  • output when running from console stops after "2024-04-29T12:39:10.551Z root INFO Deploy plugins list: 603.4 ms [Finished 1.104 s after backend start]"
  • both systems systemctl --version systemd 255 (255.5-2-arch), uname -r 6.8.7-arch1-2
  • just for fun, downgraded nonfunctional system to 6.6.29-1-lts kernel; no difference
  • deleted .theia-ide folder; no difference
  • no logs created; .theia-ide contains only empty localization-cache folder
  • stopped working simulaneously on both machines; randomly started again on one of them--issue with updating process? my best guess.
  • copied the appimage, downloaded again; no difference
  • moved back to intellij for now {8'>
  • upgraded arch this morning; possibly relevant to suddenly working system, but why would only one be affected?
@AgyarJanos
Copy link
Author

fwiw i can run 1.48.0 via a rootless podman container I forgot I had lying around with no problems & the restored .theia-ide folder. so i'm good for now. but it's still a weird issue. (can't be a permissions problem btw; my first thought when i remembered i'd shared .theia-ide and I wondered about user namespace problems; but blowing .theia-ide away and starting fresh made no difference to the appimage version.)

@AgyarJanos
Copy link
Author

Next day. Works on neither computer. Just hangs. No new installations; nothing changed. Didn't even reboot. AFAICT it's very likely some sort of network asset availability issue. Guess I could monitor that, but it seems to me the cause of this is probably obvious to whoever's working on this app. Anyway, I'm not inclined to mess with it further.

@jfaltermeier
Copy link
Contributor

Thanks for reporting.

Besides the .theia-ide directory there is also ~/.config/Theia IDE/ which contains caches from electron/chromium.
The logs for the updater are in ~/.config/Theia IDE/logs/main.log

When it hangs, are you able to access the chrome debugging tools in the electron app via ctrl+alt+i ? Maybe there is something in the logs.

@AgyarJanos
Copy link
Author

ctrl+alt+i does nothing. main.log is just a bunch of repititions of "Checking for update" and no update available. there are no other log files; i'm not sure if there should be. I tried removing both the .theia-ide and .config/Theia IDE folders and starting from scratch. same result. log output after trying that:

024-04-30 09:06:19.715] [info]  Checking for update
[2024-04-30 09:06:19.841] [info]  Generated new staging user ID: faa921c5-ce12-5436-b056-870a4d17bcac
[2024-04-30 09:06:20.188] [info]  Update for version 1.48.300 is not available (latest version: 1.48.300, downgrade is disallowed).

@AgyarJanos
Copy link
Author

fwiw, full output when running from terminal (hangs after last line). mentions a /home/vlad/.theia that doesn't exist. Not sure what part of this might or might not be relevant.

[2795:0430/091345.974636:ERROR:object_proxy.cc(622)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[2795:0430/091345.974702:ERROR:select_file_dialog_linux_portal.cc(274)] Failed to read portal version property
Configuring to accept webviews on '^.+\.webview\..+$' hostname.
2024-04-30T14:13:46.405Z root INFO Backend u.initialize: 17.2 ms [Finished 0.485 s after backend start]
2024-04-30T14:13:46.408Z root INFO Backend Object.initialize: 15.3 ms [Finished 0.485 s after backend start]
2024-04-30T14:13:46.408Z root INFO Backend a.initialize: 1.0 ms [Finished 0.485 s after backend start]
2024-04-30T14:13:46.408Z root INFO Backend a.initialize: 0.9 ms [Finished 0.485 s after backend start]
2024-04-30T14:13:46.408Z root INFO Backend a.initialize: 0.7 ms [Finished 0.485 s after backend start]
2024-04-30T14:13:46.408Z root INFO Backend f.initialize: 0.8 ms [Finished 0.486 s after backend start]
2024-04-30T14:13:46.408Z root INFO Backend c.initialize: 0.7 ms [Finished 0.486 s after backend start]
2024-04-30T14:13:46.411Z root INFO Backend c.initialize: 16.3 ms [Finished 0.487 s after backend start]
2024-04-30T14:13:46.416Z root INFO configured all backend app contributions
2024-04-30T14:13:46.417Z root INFO Backend c.onStart: 1.5 ms [Finished 0.498 s after backend start]
2024-04-30T14:13:46.417Z root INFO Configuration directory URI: 'file:///home/vlad/.theia'
2024-04-30T14:13:46.419Z root INFO Theia app listening on http://192.168.2.57:37533.
2024-04-30T14:13:46.419Z root INFO Backend m.onStart: 2.5 ms [Finished 0.501 s after backend start]
2024-04-30T14:13:46.419Z root INFO Backend a.onStart: 0.3 ms [Finished 0.501 s after backend start]
2024-04-30T14:13:46.436Z root INFO Backend h.onStart: 0.4 ms [Finished 0.502 s after backend start]
2024-04-30T14:13:46.436Z root INFO Backend i.onStart: 16.3 ms [Finished 0.518 s after backend start]
2024-04-30T14:13:46.436Z root INFO Finished starting backend application: 0.0 ms [Finished 0.518 s after backend start]
2024-04-30T14:13:46.437Z root WARN The local plugin referenced by local-dir:/home/vlad/.theia-ide/plugins does not exist.
2024-04-30T14:13:46.437Z root WARN The local plugin referenced by local-dir:/home/vlad/.theia-ide/deployedPlugins does not exist.
09:13:46.522 › Checking for update
2024-04-30T14:13:46.658Z root INFO Resolve plugins list: 239.0 ms [Finished 0.739 s after backend start]
09:13:47.013 › Update for version 1.48.300 is not available (latest version: 1.48.300, downgrade is disallowed).
2024-04-30T14:13:47.019Z root INFO Deploy plugins list: 601.0 ms [Finished 1.101 s after backend start]

@AgyarJanos
Copy link
Author

tried strace. after it hung, this happened:

poll([{fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=46, events=POLLIN}, {fd=47, events=POLLIN}], 4, 11) = 1 ([{fd=13, revents=POLLIN}])
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
read(13, "!", 2)                        = 1
sendto(67, "\260\0\0\0\20\0\1\0\0\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 176, MSG_NOSIGNAL, NULL, 0) = 176
sendto(67, "\260\0\0\0\20\0\1\0\0\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 176, MSG_NOSIGNAL, NULL, 0) = 176
sendto(67, "\210\0\0\0\20\0\1\0\0\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 136, MSG_NOSIGNAL, NULL, 0) = 136
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=46, events=POLLIN}, {fd=47, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=46, events=POLLIN}, {fd=47, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=46, events=POLLIN}, {fd=47, events=POLLIN}], 4, 2913) = 1 ([{fd=47, revents=POLLIN}])
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="U\2\275\0\4U\214\0\3\4\4\0\0\0\0\0\0\0\0\4\4\4\4\4\0\0\3\37%\2\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=47, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=47, revents=POLLOUT}])
writev(47, [{iov_base="\207\10\7\0\0\1G\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=28}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 28
poll([{fd=47, events=POLLIN}], 1, -1)   = 1 ([{fd=47, revents=POLLIN}])
recvmsg(47, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\3\276\0\21\5\0\0\0\0\10\377G\0\0\30\30\10o\1\370\0\0\0\0\0\0\0\0\0\0\10"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(47, "0\377\10\20\0\0\0\0\1\1\1\0003\377\10\20\0\0\0\0\1\1\1\0&\377\10\20\0\0\0\0"..., 1124, 0, NULL, NULL) = 1124
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=47, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=47, revents=POLLOUT}])
writev(47, [{iov_base="\207\21\3\0\3\0G\0\0\30\0\0", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=47, events=POLLIN}], 1, -1)   = 1 ([{fd=47, revents=POLLIN}])
recvmsg(47, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\3\277\0\t\0\0\0\0\30\0\0\10\377\30\1\377\0\10\370\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 68
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=47, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=47, revents=POLLOUT}])
writev(47, [{iov_base="\20\0\3\0\4\0G\0Meta", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=47, events=POLLIN}], 1, -1)   = 1 ([{fd=47, revents=POLLIN}])
recvmsg(47, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\300\0\0\0\0\0\300\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=47, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=47, revents=POLLOUT}])
writev(47, [{iov_base="\20\0\4\0\5\0G\0Super\0\0\0", iov_len=16}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 16
poll([{fd=47, events=POLLIN}], 1, -1)   = 1 ([{fd=47, revents=POLLIN}])
recvmsg(47, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\301\0\0\0\0\0\301\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=47, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=47, revents=POLLOUT}])
writev(47, [{iov_base="\20\0\4\0\5\0G\0Hyper\0\0\0", iov_len=16}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 16
poll([{fd=47, events=POLLIN}], 1, -1)   = 1 ([{fd=47, revents=POLLIN}])
recvmsg(47, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\302\0\0\0\0\0\302\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=47, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=47, revents=POLLOUT}])
writev(47, [{iov_base="\207\10\7\0\0\1\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=28}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 28
poll([{fd=47, events=POLLIN}], 1, -1)   = 1 ([{fd=47, revents=POLLIN}])
recvmsg(47, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\3\303\0\r\5\0\0\0\0\10\377\7\0\0\30\30\10o\1\370\0\0\0\0\0\0\0\0\0\0\10"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(47, "0\377\10\20\0\0\0\0\1\1\1\0003\377\10\20\0\0\0\0\1\1\1\0&\377\10\20\0\0\0\0"..., 1108, 0, NULL, NULL) = 1108
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=47, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=47, revents=POLLOUT}])
writev(47, [{iov_base="\207\1\5\0\3\0\1\0\0\0\0\0\0\0\0\0\5\0\5\0\207\1\4\0\3\0\2\0\0\0\0\0"..., iov_len=36}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 36
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=46, events=POLLIN}, {fd=47, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(46, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(47, {msg_namelen=0}, 0)         = -1 EAGAIN (Resource temporarily unavailable)

...and those lines kept repeating every couple of seconds.

@marcdumais-work
Copy link
Contributor

poll([{fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=46, events=POLLIN}, {fd=47, events=POLLIN}], 4, 11) = 1 ([{fd=13, revents=POLLIN}])
recvmsg(46, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)

Good observation, but I think these polling errors would probably be unrelated to the issue - IIRC they are the result of the app using polling file watchers, watching for the appearance of config files, in the workspace (under folders .theia and .vscode) and in the user's home folder, so that the app can react if any of these files appears. The files are tasks.json, config.json, launch.json and maybe more.

If you are using a pre-built AppImage, you may have more success with a self-built one, especially if your system is older (e.g. older glibc) vs the distro the pre-built one is built-on.

@AgyarJanos
Copy link
Author

None of the software had changed on my machines, though. The AppImage worked for weeks, then didn't, then did (on one of two workstations) after I upgraded both systems, then didn't work on either of them...with no further updates/changes on my end, and not even a reboot in the interim. FWIW, with Arch and its rolling releases, I currently have version 2.39 of glibc.

I think I'm pretty much done with this. Feel free to close the ticket if you like. I mean--it just doesn't work, and I don't see a why to find out the how/why it's failing.

I can just use the version running in a container. Not really worth a lot of time to mess with this, and I ran into tons of errors the last time I tried to build it myself, so I don't want to mess with that either.

Thanks for looking at it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants