Menu

#1117 Crashing on FreeBSD, possibly other BSDs

v1.3.7
closed-fixed
crash (2)
3
2015-01-22
2015-01-20
No

Using the source downloaded directly from fluxbox.org and also the precompiled FreeBSD package, all applications launched by Fluxbox 1.3.6 crash Fluxbox. With debug symbols enabled, I get the following output:

  src/SystemTray.cc(186): (SystemTray(const FbTk::FbWindow)): SETTING OWNER!
  src/fluxbox.cc(659): MapRequest for 0xa0000d
  src/WinClient.cc(247): updateTransientInfo: window() = 0xa0000d
  Failed to read transient for hint.
  src/Window.cc(410): FluxboxWindow::init(this=0x8048dba00, client=a0000d, frame = 8001dc)

-

Steps to reproduce:
* Fluxbox is started from .xinitrc -> .fluxbox/startup
* Fluxbox starts up without any visual problems
* An application is launched from Fluxbox's menu
* Fluxbox crashes

It appears this is a problem with OpenBSD and possibly other BSDs, as well.

My system: AMD 6-core 64-bit, 8 GB RAM, Nvidia GT 610 running the latest proprietary driver, FreeBSD 10.1 64-bit on ZFS.

This thread on the FreeBSD forums mentions some of the problems:
https://forums.freebsd.org/threads/fluxbox-1-3-6-issue-on-10-1-amd64.49995/

Thank you! :)

Discussion

  • willbprog127

    willbprog127 - 2015-01-20

    This thread on the OpenBSD list shows a similar problem. They were able to debug the core dump:
    http://marc.info/?l=openbsd-ports&m=142165683219441

     
  • Mathias Gumz

    Mathias Gumz - 2015-01-20

    "any" app? the crashdump on fbsd points towards systemtray. is there some systemtray-foo involved?

    the crashdump on obsd could need some more debug-flags to be really usable. "-g" to CXXFLAGS and LIBS would improve the output drastically.

    side-note: why on earth would someone report the problem on <random-ml-here> and not on the upstream-bugtracker.

     
    • willbprog127

      willbprog127 - 2015-01-20

      the crashdump on obsd could need some more debug-flags to be really usable. "-g" to CXXFLAGS and LIBS would improve the output drastically.

      I believe he/she did that in the next message in the thread.

       
  • willbprog127

    willbprog127 - 2015-01-20

    "any" app? the crashdump on fbsd points towards systemtray. is there some systemtray-foo involved?

    For me, it was any app. Thunderbird, Firefox, xterm...you name it.

    side-note: why on earth would someone report the problem on <random-ml-here> and not on the upstream-bugtracker.

    I'm sorry, I cannot speak to that point.

     
  • Mathias Gumz

    Mathias Gumz - 2015-01-20

    can you add more debug-symbols to your binary and provide the crash-dump?

     
  • willbprog127

    willbprog127 - 2015-01-20

    Cloning from git, I get this while trying to build:

    In file included from src/Screen.cc:38:
    ./src/ConfigMenu.hh:27:1: warning: class 'ScreenResource' was previously declared as a struct [-Wmismatched-tags]
    class ScreenResource;
    ^
    ./src/ScreenResource.hh:29:8: note: previous use is here
    struct ScreenResource {
           ^
    ./src/ConfigMenu.hh:27:1: note: did you mean struct here?
    class ScreenResource;
    ^~~~~
    struct
    ./src/ConfigMenu.hh:38:12: error: implicit default constructor for 'ConfigMenu::SetupHelper' must explicitly initialize the reference member 'screen'
        struct SetupHelper {
               ^
    ./src/ConfigMenu.hh:39:18: note: declared here
            BScreen& screen;
                     ^
    ./src/ConfigMenu.hh:38:12: error: implicit default constructor for 'ConfigMenu::SetupHelper' must explicitly initialize the reference member 'rm'
        struct SetupHelper {
               ^
    ./src/ConfigMenu.hh:40:32: note: declared here
            FbTk::ResourceManager& rm;
                                   ^
    ./src/ConfigMenu.hh:38:12: error: implicit default constructor for 'ConfigMenu::SetupHelper' must explicitly initialize the reference member 'resource'
        struct SetupHelper {
               ^
    ./src/ConfigMenu.hh:41:25: note: declared here
            ScreenResource& resource;
                            ^
    src/Screen.cc:1411:36: note: implicit default constructor for 'ConfigMenu::SetupHelper' first required here
        struct ConfigMenu::SetupHelper sh;
                                       ^
    In file included from src/Screen.cc:25:
    ./src/Screen.hh:79:7: error: 'operator=' is a private member of 'FbTk::NotCopyable'
    class BScreen: public FbTk::EventHandler, private FbTk::NotCopyable {
          ^
    ./src/FbTk/NotCopyable.hh:38:18: note: declared private here
        NotCopyable &operator=(const NotCopyable &rhs); // assignment operator
                     ^
    In file included from src/Screen.cc:25:
    In file included from ./src/Screen.hh:34:
    In file included from ./src/ScreenResource.hh:26:
    ./src/FbTk/Resource.hh:49:7: error: 'operator=' is a private member of 'FbTk::NotCopyable'
    class Resource_base:private FbTk::NotCopyable
          ^
    ./src/FbTk/NotCopyable.hh:38:18: note: declared private here
        NotCopyable &operator=(const NotCopyable &rhs); // assignment operator
                     ^
    ./src/FbTk/Resource.hh:166:7: note: implicit copy assignment operator for 'FbTk::Resource_base' first required here
    class Resource:public Resource_base, public Accessor<T> {
          ^
    ./src/FbTk/Resource.hh:166:7: error: cannot define the implicit copy assignment operator for 'FbTk::Resource<bool>', because non-static reference member
          'm_rm' can't use copy assignment operator
    class Resource:public Resource_base, public Accessor<T> {
          ^
    ./src/FbTk/Resource.hh:193:22: note: declared here
        ResourceManager &m_rm;
                         ^
    ./src/ScreenResource.hh:29:8: note: implicit copy assignment operator for 'FbTk::Resource<bool>' first required here
    struct ScreenResource {
           ^
    ./src/Screen.hh:79:7: note: implicit copy assignment operator for 'ScreenResource' first required here
    class BScreen: public FbTk::EventHandler, private FbTk::NotCopyable {
          ^
    ./src/Screen.hh:79:7: error: cannot define the implicit copy assignment operator for 'BScreen', because non-static reference member 'm_resource_manager'
          can't use copy assignment operator
    class BScreen: public FbTk::EventHandler, private FbTk::NotCopyable {
          ^
    ./src/Screen.hh:513:28: note: declared here
        FbTk::ResourceManager &m_resource_manager;
                               ^
    src/Screen.cc:1412:15: note: implicit copy assignment operator for 'BScreen' first required here
        sh.screen = *this;
                  ^
    In file included from src/Screen.cc:25:
    ./src/Screen.hh:79:7: error: member function 'operator=' not viable: 'this' argument has type 'const std::string' (aka 'const basic_string<char,
          char_traits<char>, allocator<char> >'), but function is not marked const
    class BScreen: public FbTk::EventHandler, private FbTk::NotCopyable {
          ^~~~~~~
    /usr/include/c++/v1/string:1228:19: note: 'operator=' declared here
        basic_string& operator=(const basic_string& __str);
                      ^
    src/Screen.cc:1412:15: note: implicit copy assignment operator for 'BScreen' first required here
        sh.screen = *this;
                  ^
    1 warning and 8 errors generated.
    Makefile:3518: recipe for target 'src/fluxbox-Screen.o' failed
    
     
  • Mathias Gumz

    Mathias Gumz - 2015-01-20

    ya, known issue. just take 1.3.6 and the patch from the commit I pointed out.

    git will be fixed tomorrow.

     
  • willbprog127

    willbprog127 - 2015-01-21

    k, thanks :-)

     
  • Mathias Gumz

    Mathias Gumz - 2015-01-21

    ok, reports from the obsd folks confirm, that the mentioned patch fixed their problems.

     
  • Mathias Gumz

    Mathias Gumz - 2015-01-21
    • assigned_to: Mathias Gumz
     
  • Mathias Gumz

    Mathias Gumz - 2015-01-21
    • Group: v1.3.6 --> v1.3.7
     
  • willbprog127

    willbprog127 - 2015-01-21

    please check, if this fixes your fbsd problem as well

    I applied the patch and so far, Fluxbox 1.3.6 seems to be working good. I will report back if there are any other issues.

    Thank you! :-D

     
  • Mathias Gumz

    Mathias Gumz - 2015-01-21
    • status: open --> closed-fixed
     

Log in to post a comment.