HenriWahl / Nagstamon

Nagios status monitor for your desktop.
https://nagstamon.de
Other
424 stars 179 forks source link

Debian Stretch Nagstamon 3.x Segmentation Fault #488

Closed ctyler2621 closed 6 years ago

ctyler2621 commented 6 years ago

Tried using nagstamon_3.0.2_all.deb and nagstamon_3.1-20180425_all.deb getting same error on both...

$ nagstamon --output y Traceback (most recent call last): File "/usr/bin/nagstamon", line 37, in import nagstacli # fix crash if more than 2 args are passed - mprenditore ImportError: No module named 'nagstacli'

HenriWahl commented 6 years ago

What happens without the --output parameter? Why is it used?

ctyler2621 commented 6 years ago

Without it, I get no output other than the Segmentation Fault message.

ctyler2621 commented 6 years ago

Seems to give that message regardless of the option given, for example...

$ nagstamon --comment Test Traceback (most recent call last): File "/usr/bin/nagstamon", line 37, in import nagstacli # fix crash if more than 2 args are passed - mprenditore ImportError: No module named 'nagstacli'

But with no arguments at all...

$ nagstamon Segmentation fault

Would love to give you more information, but that's all it gives me.

ctyler2621 commented 6 years ago

So on a whim, I moved my .nagstamon folder to .nagstamon_back just in case there was something in it that was deprecated or misconfigured, and the error changed slightly. Probably not much additional help.

$ nagstamon [Errno 2] No such file or directory: '/home/ctyler/.nagstamon/nagstamon.pid' Segmentation fault

HenriWahl commented 6 years ago

The arguments refer to a not yet fully implemented CLI version of Nagstamon so they should be omitted here. Why else you get the crash... well, really not that much data. Did it ever run in a previous version? Is there anything special about this machine?

ctyler2621 commented 6 years ago

Nothing special that I am aware of, few extra repos loaded but nothing crazy. I was running an older version of nagstamon before I upgraded to stretch. But even before the upgrade I had attempted to update nagstamon and it seg faulted as well and I had to go back to an earlier version. Unfortunately, I can't remember exactly which version I was running that worked. Is there anything that I can do to get you more useable information? Not having nagstamon is killing me, I'll do a fresh install of Debian if I have to, just to get it working again.

ctyler2621 commented 6 years ago

This is in my /var/log/messages if it helps any... May 3 09:45:45 SmartMass kernel: [23276.872846] nagstamon[19898]: segfault at 7f165ad87f20 ip 00007f164ffa04c7 sp 00007ffc4586c590 error 7 in libQt5Core.so.5.7.1[7f164fd19000+4bd000]

HenriWahl commented 6 years ago

I honestly cannot tell you anything useful I fear... at least it will be a good idea to run Nagstamon in a fresh Debian Stretch VM to see if it would work.

ctyler2621 commented 6 years ago

The VM was my thought as well, too much work reinstalling my desktop if it turns out that it won't work on a fresh install anyway.

Thanks for the help. Appreciated even though we didn't figure out my problem.

mprenditore commented 6 years ago

hello, have you tried to enable Debug Mode to check out if it output more data? To do so you can use debug_mode = True in the nagstamon.conf

nicocesar commented 6 years ago

I did set debug_mode = True

nagstamon --version Segmentation fault

installed from deb packages https://nagstamon.ifw-dresden.de/files/unstable/nagstamon_3.1-20180523_all.deb

this is the strace:

access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXdamage.so.1", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\v\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0644, st_size=10320, ...}) = 0
mmap(NULL, 2105528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fddb94d9000
mprotect(0x7fddb94db000, 2093056, PROT_NONE) = 0
mmap(0x7fddb96da000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x1000) = 0x7fddb96da000
close(6)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\5\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0644, st_size=6000, ...}) = 0
mmap(NULL, 2101288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fddb92d7000
mprotect(0x7fddb92d8000, 2093056, PROT_NONE) = 0
mmap(0x7fddb94d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0) = 0x7fddb94d7000
close(6)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libxcb-glx.so.0", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \257\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0644, st_size=108704, ...}) = 0
mmap(NULL, 2203768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fddb90bc000
mprotect(0x7fddb90d4000, 2097152, PROT_NONE) = 0
mmap(0x7fddb92d4000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x18000) = 0x7fddb92d4000
close(6)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\30\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0644, st_size=18576, ...}) = 0
mmap(NULL, 2113640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fddb8eb7000
mprotect(0x7fddb8ebb000, 2093056, PROT_NONE) = 0
mmap(0x7fddb90ba000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x3000) = 0x7fddb90ba000
close(6)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libXxf86vm.so.1", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\17\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0644, st_size=22816, ...}) = 0
mmap(NULL, 2117992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fddb8cb1000
mprotect(0x7fddb8cb6000, 2093056, PROT_NONE) = 0
mmap(0x7fddb8eb5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x4000) = 0x7fddb8eb5000
close(6)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libdrm.so.2", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p;\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0644, st_size=64144, ...}) = 0
mmap(NULL, 2161840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fddb8aa1000
mprotect(0x7fddb8aaf000, 2097152, PROT_NONE) = 0
mmap(0x7fddb8caf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0xe000) = 0x7fddb8caf000
close(6)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libicudata.so.57", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\5\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0644, st_size=25675624, ...}) = 0
mmap(NULL, 27770920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fddb7024000
mprotect(0x7fddb88a0000, 2093056, PROT_NONE) = 0
mmap(0x7fddb8a9f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x187b000) = 0x7fddb8a9f000
close(6)                                = 0
mprotect(0x7fddb8a9f000, 4096, PROT_READ) = 0
mprotect(0x7fddb8caf000, 4096, PROT_READ) = 0
mprotect(0x7fddb8eb5000, 4096, PROT_READ) = 0
mprotect(0x7fddb90ba000, 4096, PROT_READ) = 0
mprotect(0x7fddb92d4000, 8192, PROT_READ) = 0
mprotect(0x7fddb94d7000, 4096, PROT_READ) = 0
mprotect(0x7fddb96da000, 4096, PROT_READ) = 0
mprotect(0x7fddb9905000, 16384, PROT_READ) = 0
mprotect(0x7fddb9b0b000, 4096, PROT_READ) = 0
mprotect(0x7fddb9d12000, 4096, PROT_READ) = 0
mprotect(0x7fddb9f15000, 4096, PROT_READ) = 0
mprotect(0x7fddba118000, 4096, PROT_READ) = 0
mprotect(0x7fddba344000, 8192, PROT_READ) = 0
mprotect(0x7fddba556000, 4096, PROT_READ) = 0
mprotect(0x7fddba7bf000, 4096, PROT_READ) = 0
mprotect(0x7fddbab54000, 73728, PROT_READ) = 0
mprotect(0x7fddbafd3000, 53248, PROT_READ) = 0
mprotect(0x7fddbb250000, 12288, PROT_READ) = 0
mprotect(0x7fddbb4e7000, 8192, PROT_READ) = 0
mprotect(0x7fddbb9a8000, 49152, PROT_READ) = 0
mprotect(0x7fddbbed7000, 61440, PROT_READ) = 0
mprotect(0x7fddbc522000, 184320, PROT_READ) = 0
mprotect(0x7fddbcc09000, 77824, PROT_READ) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7fddc484df20} ---
+++ killed by SIGSEGV +++
Segmentation fault
HenriWahl commented 6 years ago

@nicocesar does this happen WITHOUT any commandline arguments too?

HenriWahl commented 6 years ago

What Desktop environments are you using? According to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852836 there might be problems with GNOME, GTK2 and GTK3 apps.

HenriWahl commented 6 years ago

I installed a fresh Debian 9.4 64 bit in a VM with GNOME Desktop, installed latest https://nagstamon.ifw-dresden.de/files/unstable/nagstamon_3.1-20180523_all.deb and its dependencies et voilà: it runs: bildschirmfoto vom 2018-06-06 13-06-03 What are the differences to your setup?

nicocesar commented 6 years ago

I'm using AwesomeWM, maybe there is a library installed in my system giving the conflict? how can we know which library is? the last library seems to be unrelated

open("/usr/lib/x86_64-linux-gnu/libicudata.so.57", O_RDONLY|O_CLOEXEC) = 6

@HenriWahl can you do an strace output so I can compare what are you calling at the moment I get the SegFault?

nicocesar commented 6 years ago

I solved it! by removing the following.

Removing python3-pykde4 (4:4.14.3-2+deb9u1) ... Removing python3-pyqt4 (4.11.4+dfsg-2+b1) ...

is nagstamon trying to load all modules and maybe there are something that is causing this?

ipdb>
> <frozen importlib._bootstrap_external>(1150)find_spec()
ipdb>
> <frozen importlib._bootstrap_external>(1161)find_spec()
ipdb>
--Return--
ModuleSpec(na...gstamon/QUI'])
> <frozen importlib._bootstrap_external>(1161)find_spec()
ipdb>
--Call--
> <frozen importlib._bootstrap>(856)__exit__()
ipdb>
> <frozen importlib._bootstrap>(858)__exit__()
ipdb>
--Return--
None
> <frozen importlib._bootstrap>(858)__exit__()
ipdb>
> <frozen importlib._bootstrap>(897)_find_spec()
ipdb>
> <frozen importlib._bootstrap>(899)_find_spec()
ipdb>
> <frozen importlib._bootstrap>(914)_find_spec()
ipdb>
--Return--
ModuleSpec(na...gstamon/QUI'])
> <frozen importlib._bootstrap>(914)_find_spec()
ipdb>
> <frozen importlib._bootstrap>(955)_find_and_load_unlocked()
ipdb>
> <frozen importlib._bootstrap>(958)_find_and_load_unlocked()
ipdb>
Segmentation fault

anyway I'm all set. thanks

HenriWahl commented 6 years ago

Interesting find... no, Nagstamon is only interested in the Qt5 bindings for Python. But the mixture of Qt4 and Qt5 might as well cause trouble