Giter Site home page Giter Site logo

Comments (16)

ammen99 avatar ammen99 commented on July 22, 2024

I have tried to reproduce, but I don't get a crash. Can you run wf-panel in GDB and post a backtrace of where wf-panel crashes so I can fix it?

from wf-shell.

 avatar commented on July 22, 2024
~ >>> gdb wf-panel                                                                                
GNU gdb (GDB) 8.3
Copyright (C) 2019 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-pc-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 wf-panel...
(No debugging symbols found in wf-panel)
(gdb) 

from wf-shell.

ammen99 avatar ammen99 commented on July 22, 2024

@librewish This isn't a backtrace. Please do the following:

  1. Recompile wf-shell with debugging symbols (easiest way is delete build folder of wf-shell and then compile again with meson build --buildtype=debug --prefix=...)

  2. Run gdb wf-panel, type run

You should get a backtrace.

from wf-shell.

 avatar commented on July 22, 2024
~/wf-shell >>> meson build --buildtype=debug --prefix=/usr                               ±[master]
The Meson build system
Version: 0.51.2
Source dir: /home/sk/wf-shell
Build dir: /home/sk/wf-shell/build
Build type: native build
Project name: wf-shell
Project version: 0.1
C compiler for the host machine: cc (gcc 9.1.0 "cc (GCC) 9.1.0")
C++ compiler for the host machine: c++ (gcc 9.1.0 "c++ (GCC) 9.1.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Run-time dependency wayland-client found: YES 1.17.0
Run-time dependency wayland-protocols found: YES 1.18
Run-time dependency gtkmm-3.0 found: YES 3.24.1
Run-time dependency wf-config found: YES 0.1
Run-time dependency gtk-layer-shell-0 found: YES 0.1.0
Run-time dependency libpulse found: YES 13.0-dirty
Submodule 'subprojects/gvc' (https://github.com/GNOME/libgnome-volume-control) registered for path 'gvc'
Cloning into '/home/sk/wf-shell/subprojects/gvc'...
Submodule path 'gvc': checked out '468022b708fc1a56154f3b0cc5af3b938fb3e9fb'

|Executing subproject gvc method meson 
|
|Project name: gvc
|Project version: undefined
|C compiler for the host machine: cc (gcc 9.1.0 "cc (GCC) 9.1.0")
|Run-time dependency gio-2.0 found: YES 2.62.0
|Run-time dependency gobject-2.0 found: YES 2.62.0
|Dependency libpulse found: YES (cached)
|Run-time dependency libpulse-mainloop-glib found: YES 13.0-dirty
|Run-time dependency alsa found: YES 1.1.9
|Configuring config.h using configuration
|Build targets in project: 2
|Subproject gvc finished.

Found CMake: /usr/bin/cmake (3.15.3)
Run-time dependency libinotify found: NO (tried pkgconfig and cmake)
Program wayland-scanner found: YES (/usr/bin/wayland-scanner)
Build targets in project: 7
Found ninja-1.9.0 at /usr/bin/ninja

cannot build
no package named libinotify
in manjaro repo

from wf-shell.

 avatar commented on July 22, 2024
~/wf-shell >>> gdb wf-panel                                                           ±[●][master]
GNU gdb (GDB) 8.3
Copyright (C) 2019 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-pc-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 wf-panel...
(gdb) run
Starting program: /usr/bin/wf-panel 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff4269700 (LWP 26767)]
[New Thread 0x7ffff3a68700 (LWP 26768)]
[New Thread 0x7ffff3267700 (LWP 26769)]
[New Thread 0x7ffff26b9700 (LWP 26770)]
Failed to load info for google-chrome.desktop
Failed to load info for com.gexperts.Tilix.desktop
Failed to load icon /usr/share/icons/gnome/48x48/categories/preferences-system.png
Failed to load info for org.gnome.Nautilus.desktop
Failed to load info for 36

(wf-panel:26755): GLib-CRITICAL **: 21:08:03.860: g_variant_get_string: assertion 'value != NULL' failed

(wf-panel:26755): GLib-CRITICAL **: 21:08:03.860: g_variant_get_string: assertion 'value != NULL' failed

(wf-panel:26755): GLib-GIO-CRITICAL **: 21:08:03.862: g_dbus_connection_call_internal: assertion 'object_path != NULL && g_variant_is_object_path (object_path)' failed
[Thread 0x7ffff3a68700 (LWP 26768) exited]

from wf-shell.

 avatar commented on July 22, 2024

i found the issue its
i did not have network manager installed
and its service running
as i use connman and have its service running

installing networkmanager and starting its service did not crash the panel.
so network manager is a hard dependancy of network widget?

from wf-shell.

ammen99 avatar ammen99 commented on July 22, 2024

Yes, network manager is necessary for the widget to operate. However it shouldn't crash.

And here I am sorry, but can you type bt full at the end? i.e after running in gdb, reproduce the crash, and type bt full in gdb, press enter several times, it should print a list of all functions.

from wf-shell.

 avatar commented on July 22, 2024
Thread 1 "wf-panel" received signal SIGINT, Interrupt.
0x00007ffff64e8667 in poll () from /usr/lib/libc.so.6
(gdb) bt full
#0  0x00007ffff64e8667 in poll () at /usr/lib/libc.so.6
#1  0x00007ffff6aff130 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007ffff6b000d3 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3  0x00007ffff6da3ea4 in  () at /usr/lib/libgio-2.0.so.0
#4  0x00007ffff78b160a in Gio::Initable_Class::init_vfunc_callback(_GInitable*, _GCancellable*, _GError**) () at /usr/lib/libgiomm-2.4.so.1                                                           
#5  0x00007ffff78b17f3 in Gio::Initable::init() () at /usr/lib/libgiomm-2.4.so.1
#6  0x00007ffff7897ee0 in Gio::DBus::Proxy::Proxy(Glib::RefPtr<Gio::DBus::Connection> const&, Glib::ustring const&, Glib::ustring const&, Glib::ustring const&, Glib::RefPtr<Gio::DBus::InterfaceInfo> const&, Gio::DBus::ProxyFlags) () at /usr/lib/libgiomm-2.4.so.1                                   
#7  0x00007ffff7897fc7 in Gio::DBus::Proxy::create_sync(Glib::RefPtr<Gio::DBus::Connection> const&, Glib::ustring const&, Glib::ustring const&, Glib::ustring const&, Glib::RefPtr<Gio::DBus::InterfaceInfo> const&, Gio::DBus::ProxyFlags) () at /usr/lib/libgiomm-2.4.so.1                             
#8  0x000055555559f2e1 in WayfireNetworkInfo::update_active_connection() (this=0x55555574c000)
    at ../src/panel/widgets/network.cpp:260
        active_conn_path = 
              {<Glib::VariantStringBase> = {<Glib::VariantBase> = {gobject_ = 0x0}, <No data fields>}, <No data fields>}
        set_no_connection = {__this = 0x55555574c130}
#9  0x00005555555a0164 in WayfireNetworkInfo::init(Gtk::HBox*, wayfire_config*)
    (this=0x55555574c000, container=0x5555557601d8, config=0x5555558c5a10)
    at ../src/panel/widgets/network.cpp:382
#10 0x000055555557a2a0 in WayfirePanel::impl::reload_widgets(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::unique_ptr<WayfireWidget, std::default_delete<WayfireWidget> >, std::allocator<std::unique_ptr<WayfireWidget, std::default_delete<WayfireWidget> > > >&, Gtk::HBox&)                                                                         
--Type <RET> for more, q to quit, c to continue without paging--
    (this=0x5555557600e0, list="battery volume network", container=std::vector of length 2, capacity 2 = {...}, box=...) at ../src/panel/panel.cpp:256
        widget = std::unique_ptr<WayfireWidget> = {get() = 0x55555574c000}
        widget_name = "network"
        __for_range = std::vector of length 3, capacity 4 = {"battery", "volume", "network"}
        __for_begin = "network"
        __for_end = <error: Cannot access memory at address 0x697620646e612072>
        widgets = std::vector of length 3, capacity 4 = {"battery", "volume", "network"}
#11 0x000055555557a4eb in WayfirePanel::impl::init_widgets()::{lambda()#2}::operator()() const
    (__closure=0x555555760370) at ../src/panel/panel.cpp:276
        this = 0x5555557600e0
        section = 0x555555760258
#12 0x00005555555803b1 in std::_Function_handler<void (), WayfirePanel::impl::init_widgets()::{lambda()#2}>::_M_invoke(std::_Any_data const&) (__functor=...)                                         
    at /usr/include/c++/9.1.0/bits/std_function.h:300
#13 0x000055555557ba28 in std::function<void ()>::operator()() const (this=0x555555760370)
    at /usr/include/c++/9.1.0/bits/std_function.h:690
#14 0x000055555557a9d3 in WayfirePanel::impl::init_widgets() (this=0x5555557600e0)
    at ../src/panel/panel.cpp:287
        section = 0x5555556ec2f0
#15 0x0000555555578bca in WayfirePanel::impl::create_window() (this=0x5555557600e0)
    at ../src/panel/panel.cpp:167
        config_section = 0x5555556ec2f0
#16 0x000055555557ae17 in WayfirePanel::impl::impl(WayfireOutput*)
    (this=0x5555557600e0, output=0x5555556f4f80) at ../src/panel/panel.cpp:297
#17 0x000055555557768c in WayfirePanel::WayfirePanel(WayfireOutput*)
--Type <RET> for more, q to quit, c to continue without paging--
    (this=0x555555860570, output=0x5555556f4f80) at ../src/panel/panel.cpp:344
#18 0x000055555557b6e9 in WayfirePanelApp::impl::handle_new_output(WayfireOutput*)
    (this=0x55555562a680, output=0x5555556f4f80) at ../src/panel/panel.cpp:364
#19 0x00005555555b9c2d in WayfireShellApp::add_output(Glib::RefPtr<Gdk::Monitor>)
    (this=0x55555562a680, monitor=...) at ../src/util/wf-shell-app.cpp:103
#20 0x00005555555b9a8d in WayfireShellApp::on_activate() (this=0x55555562a680)
    at ../src/util/wf-shell-app.cpp:96
        i = 0
        gdk_display = 0x5555556c0030
        wl_display = 0x5555556baf50
        registry = 0x555555852320
        display = {pCppObject_ = 0x55555571bd20}
        num_monitors = 2
#21 0x00005555555bdd75 in sigc::bound_mem_functor0<void, WayfireShellApp>::operator()() const
    (this=0x5555558ad438) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1991
#22 0x00005555555bd9b8 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, WayfireShellApp> >::operator()() const (this=0x5555558ad430)                                                           
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#23 0x00005555555bd3c8 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, WayfireShellApp>, void>::call_it(sigc::internal::slot_rep*) (rep=0x5555558ad400)                                  
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:136
        typed_rep = 0x5555558ad400
#24 0x00007ffff77301f9 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) ()
    at /usr/lib/libglibmm-2.4.so.1
#25 0x00007ffff6bebd3a in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#26 0x00007ffff6bd988e in  () at /usr/lib/libgobject-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
#27 0x00007ffff6bdd98a in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff6bde7f0 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff6ddfdd9 in  () at /usr/lib/libgio-2.0.so.0
#30 0x00007ffff6ddf916 in g_application_run () at /usr/lib/libgio-2.0.so.0
#31 0x00005555555ba076 in WayfireShellApp::run() (this=0x55555562a680)
    at ../src/util/wf-shell-app.cpp:127
#32 0x00005555555778cb in WayfirePanelApp::run(int, char**) (argc=1, argv=0x7fffffffe738)
    at ../src/panel/panel.cpp:401
#33 0x00005555555779c2 in main(int, char**) (argc=1, argv=0x7fffffffe738)
    at ../src/panel/panel.cpp:410
(gdb)

from wf-shell.

ammen99 avatar ammen99 commented on July 22, 2024

Have you reproduced the crash before doing bt full? It seems that wf-panel hasn't crashed, but was rather stopped with Ctrl-C

from wf-shell.

ammen99 avatar ammen99 commented on July 22, 2024

And can you try this patch: http://ix.io/1ORU

If that doesn't help, then I'd need the backtrace from gdb, but after reproducing the problem.

from wf-shell.

 avatar commented on July 22, 2024

Have you reproduced the crash before doing bt full? It seems that wf-panel hasn't crashed, but was rather stopped with Ctrl-C

okay it seems i got the wrong wording and misunderstood the problem.
the panel is not crashing
but panel is not appearing
when there is no network manger installed.
and network widget is active.

And can you try this patch: http://ix.io/1ORU

i dont know how to apply patches

from wf-shell.

ammen99 avatar ammen99 commented on July 22, 2024

@librewish, okay, now it makes sense. Tha patch could still help though. To apply it, first save the whole page to a file patch.txt, and then from the wf-shell source directory, run git apply patch.txt

from wf-shell.

 avatar commented on July 22, 2024

yes the patch works.
now the panel appears.
even when the networkmanager is not installed

from wf-shell.

ammen99 avatar ammen99 commented on July 22, 2024

Ok, I'll push it when I get home. Thanks for testing.

from wf-shell.

 avatar commented on July 22, 2024

i have a question why invoke gnome control center.
its such an heavy app.
pulls almost all of gnome
why cant the network widget be like network-manager-applet ?

from wf-shell.

ammen99 avatar ammen99 commented on July 22, 2024

Because I haven't had the time and motivation to implement a dedicated Wi-Fi selection popup. PRs welcome

from wf-shell.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.