On 09/05/2023 07:41, Stephan Althaus wrote:
On 5/8/23 16:10, Udo Grabowski (IMK) wrote:
On 08/05/2023 11:13, Udo Grabowski (IMK) wrote:
On 05/05/2023 09:14, Stephan Althaus wrote:
Hello!
The hint to use inotify support in glib was from you, can you please
shed a
light on this?
I am lacking all sorts of background on this stuff :-{
To test this, we would have to patch and build inotify support in
illumos-gate,
install it, then compile glib2 with a check if inotify was found and
install,
and then mate-system-monitor... to see if this approach does indeed
help.. Is
there some easier way?
Regards,
Stephan
-------- Forwarded Message --------
Subject: Re: [OpenIndiana-discuss] Add inotify support to
illumos-gate
Date: Tue, 2 May 2023 20:25:49 +0200
From: Till Wegmüller <toaster...@gmail.com>
Reply-To: Discussion list for OpenIndiana
<openindiana-discuss@openindiana.org>
To: openindiana-discuss@openindiana.org
Hi Stephan
inotify has stubbed headers that work roughly decently. Any software
should use
FEN or the Native API. We add it to every programming language we
can and should
also add it to mate-system-monitor or rather make it use kstat if it
tries to
poll things under /proc which it should not for us.
What does mate-system-monitor use inotify for?
...
The parts that use Gio for monitoring in mate-system-monitor are located
in prettytable.cpp, where it monitors its apps-cache, and in
procman-app.cpp,
where it monitors mounts and somehow uses it to process a
commandline; that's
also the place it crashes (after complaining about the missing monitor
facility):
...
And still, even with LD_LIBRARY_PATH set to gcc 10, libgtkmm-3 again
loads itself libstdc++.so.6 from gcc 7 AND 10, as well as libgcc_s.so.1
from gcc 7 AND 10.
And the same problem for libgdkmm-3, and libpangomm-1.4. Probably because
software that is still compiled with gcc 7 depends on them.
This mixup should be cleared first.
All libraries loaded from mate-system-monitor that depend on gcc:
############ /usr/lib/64/libgtkmm-3.0.so.1 ###############
libstdc++.so.6 => /usr/gcc/7/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/7/lib/amd64/libgcc_s.so.1
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libgdkmm-3.0.so.1 ###############
libstdc++.so.6 => /usr/gcc/7/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/7/lib/amd64/libgcc_s.so.1
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libxml2.so.2 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/librsvg-2.so.2 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libgiomm-2.4.so.1 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libglibmm-2.4.so.1 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libsigc-2.0.so.0 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/gcc/10/lib/amd64/libstdc++.so.6 ###############
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libatkmm-1.6.so.1 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libpangomm-1.4.so.1 ###############
libstdc++.so.6 => /usr/gcc/7/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/7/lib/amd64/libgcc_s.so.1
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libcairomm-1.0.so.1 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libicuuc.so.68 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
############ /usr/lib/64/libcroco-0.6.so.3 ###############
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
_______________________________________________
openindiana-discuss mailing list
openindiana-discuss@openindiana.org
https://openindiana.org/mailman/listinfo/openindiana-discuss
Hello!
The linkage seems to be clean now:
$ ldd `which mate-system-monitor` |grep 7
$ ldd `which mate-system-monitor` |grep 10
libstdc++.so.6 => /usr/gcc/10/lib/amd64/libstdc++.so.6
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
$ mate-system-monitor
(<unknown>:4252): glibmm-CRITICAL **: 07:37:54.076:
unhandled exception (type Glib::Error) in signal handler:
domain: g-io-error-quark
code : 0
what : Unable to find default local file monitor type
Segmentation Fault (core dumped)
$ pstack core
core 'core' of 4252: mate-system-monitor
--------------------- thread# 1 / lwp# 1 ---------------------
000000000044b0a1
_ZN10ProcmanApp15on_command_lineERKN4Glib6RefPtrIN3Gio22ApplicationCommandLineEEE () + 111
00007fff7c789ab0
_ZN3Gio17Application_Class21command_line_callbackEP13_GApplicationP24_GApplicationCommandLine () + 160
00007fffac4ace5f _g_cclosure_marshal_INT__OBJECTv () + 6f
00007fffac79aa08 _g_closure_invoke_va () + 188
00007fffac7baf92 g_signal_emit_valist () + 332
00007fffac7bc17d g_signal_emit () + 7d
00007fffac509933 g_application_call_command_line () + a3
00007fffac50bd71 g_application_real_local_command_line () + 211
00007fff7c788722 _ZN3Gio11Application24local_command_line_vfuncERPPcRi
() + 52
00007fff7c78939b
_ZN3Gio17Application_Class33local_command_line_vfunc_callbackEP13_GApplicationPPPcPi () + fb
00007fffac50bef3 g_application_run () + 133
00000000004239f1 main () + 61
0000000000422d37 _start_crt () + 87
0000000000422c98 _start () + 18
...<snip>...
That's exactly what I see, but libgdkmm-3 was not in the list of updated
libraries posted. That one too loads both gcc 7 and 10. You can't see
that from the ldd of mate-system-monitor, you have to hunt down the
dependencies of every library loaded, as I did in my earlier post.
_______________________________________________
openindiana-discuss mailing list
openindiana-discuss@openindiana.org
https://openindiana.org/mailman/listinfo/openindiana-discuss