elementary / wingpanel

Stylish top panel that holds indicators and spawns an application launcher
https://elementary.io
GNU General Public License v3.0
137 stars 44 forks source link

Wingpanel dissapears and reapears #344

Open Ilatnem opened 3 years ago

Ilatnem commented 3 years ago

Hi, this issue keeps coming back everytime I interact with the panel : every time I click an applet, it would randomly disappear and reappear. Do you know how I could fix this ?

danirabbit commented 3 years ago

Does this happen when clicking any indicator or only when clicking certain indicators?

Have you installed or removed anything from the panel? Any apps that are adding new indicators to the panel?

Having you modified the system in any way such as by changing the icons or stylesheet?

Ilatnem commented 3 years ago

Hi, I just reinstalled eOS and the only thing I downloaded was Firefox. Everything remains stock.

It seems to happen on the desktop, when there are no windows and when I click on any indicators.

Ilatnem commented 3 years ago

20200828_002137

Here's what is happening

danirabbit commented 3 years ago

@Ilatnem and what language is being used here?

Ilatnem commented 3 years ago

It's french

danirabbit commented 3 years ago

@Ilatnem if this is happening consistently, can do you do the following and reproduce the crash:

  1. Open Terminal
  2. Type in sudo apt install wingpanel-dbg. This command will install some things that will help us debug the panel. This will ask for your admin password.
  3. Type in killall wingpanel and press enter. Do this until the panel no longer shows up
  4. Type in gdb wingpanel and press enter. gdb is a debugging program that can give us information about why the crash is happening.
  5. You should see a copyright notice and some other things and the last line should read gdb with a flashing cursor. Type in run and press enter.
  6. Now, you can reproduce the crash in the panel as your normally would.
  7. Once the panel has crashed, return to Terminal. You should be back at the gdb prompt. If not, you can press the keyboard shortcut Ctrl + C to get back to it. Once you have the gdb prompt with the flashing cursor, type in bt and press enter.
  8. This should print out a bunch of stuff. Select All (either with the keyboard shortcut Shift + Ctrl + A or with the right click menu) and copy all of the Terminal contents.
  9. Paste that back here :)
Ilatnem commented 3 years ago
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from wingpanel...Reading symbols from /usr/lib/debug/.build-id/61/cdb0d01bbd7c9e94f77e0c6368be53ebef375b.debug...done.
done.
(gdb) run
Starting program: /usr/bin/wingpanel 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffedb90700 (LWP 2189)]
[New Thread 0x7fffed38f700 (LWP 2190)]
[New Thread 0x7fffe5cf5700 (LWP 2191)]
[New Thread 0x7fffdffff700 (LWP 2193)]
[New Thread 0x7fffc177c700 (LWP 2204)]
[New Thread 0x7fffa337d700 (LWP 2250)]
[New Thread 0x7fffa18c4700 (LWP 2252)]
[Thread 0x7fffed38f700 (LWP 2190) exited]
^C
Thread 1 "wingpanel" received signal SIGINT, Interrupt.
0x00007ffff5e8ecf9 in __GI___poll (fds=0x555555ca7430, nfds=7, timeout=10784)
    at ../sysdeps/unix/sysv/linux/poll.c:29
29  ../sysdeps/unix/sysv/linux/poll.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0x00007ffff5e8ecf9 in __GI___poll (fds=0x555555ca7430, nfds=7, timeout=10784)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff78fb5c9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff78fb6dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff75b2efd in g_application_run () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x000055555555fcfb in wingpanel_main (args=0x7fffffffdef8, args_length1=1) at ./src/Wingpanel.vala:24
#5  0x00007ffff5d9bb97 in __libc_start_main (main=0x55555555c3a0 <main>, argc=1, argv=0x7fffffffdef8, 
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdee8)
    at ../csu/libc-start.c:310
#6  0x000055555555c3da in _start ()
(gdb) 

I did as you said, I don't really understand though.

Ilatnem commented 3 years ago

I thought I should give you my laptop's specs : Intel Celeron N3060 @ 1.60GHz with 4Gb of ram

Ilatnem commented 3 years ago

Hi, any news on what might be causing the panel to disappear ?

danirabbit commented 3 years ago

@Ilatnem sorry for dropping the ball on this! Thank you for the backtrack. I've assigned myself to this issue so that I remember to look into it on Monday :)

Ilatnem commented 3 years ago

@Ilatnem sorry for dropping the ball on this! Thank you for the backtrack. I've assigned myself to this issue so that I remember to look into it on Monday :)

No problem !

I don't want you to lose sleep over it though, it's not a major issue by any mean.

danirabbit commented 3 years ago

@Ilatnem I've proposed a branch here that might resolve this issue: https://github.com/elementary/wingpanel/pull/346

If you could try it out and see that would be great :) Let me know if you need build instructions and I can write something out for you

Ilatnem commented 3 years ago

Yes I might need instructions please, I've never done this before. Thanks

danirabbit commented 3 years ago

@Ilatnem No problem! I'll do my best to walk you through it. We're going to be doing a lot of stuff in Terminal:

Firstly you're going to need the program git in order to download the source code: sudo apt install git

Then we're going to use some magic to automatically get all the stuff we need to build the panel: sudo apt build-dep wingpanel

Then we need to download the source code of the panel using git. The URL we're using here is available on the main page for any GitHub repository under that green "Code" button: git clone https://github.com/elementary/wingpanel.git

Then we're going to change into that directory: cd wingpanel

And now we're going to switch from the main branch of the panel to the one I've proposed: git checkout application-simplify

Now we can use the program meson to build the panel. This should have been installed automatically with apt build-dep. Here we're telling meson to make a directory called "build" that we're perform our build in and then we want it to install to "/usr" so that any updates override this and we can easily reinstall the panel with apt if we need to: meson build --prefix=/usr

Then we change into the build directory cd build

and then we build and install. This should pop up a dialog asking for your password to install ninja install

And now we can force the panel to restart by killing it once: killall wingpanel

Let me know if you get stuck at any part!

Ilatnem commented 3 years ago

I followed your instructions and after killing wingpanel, the wifi indicator is now gone and the issue is still here.

danirabbit commented 3 years ago

@Ilatnem hm shouldn't have any affect on wifi indicator. But you can re-install the panel to revert back to the stable version: sudo apt install --reinstall wingpanel

I'm not sure what could be causing this crash really, tbh. Very strange

Ilatnem commented 3 years ago

Yeah, I've tried a lot of desktop environments on this laptop and I've never seen a top bar disappear like wingpanel. Thank you for trying to help me, at least you taught me some things I didn't know ! This laptop is pretty bad and old anyway and the issue is not major at all.