Changeset: 567e737b88e4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/567e737b88e4
Modified Files:
        ChangeLog.Dec2025
        gdk/gdk_tracer.c
        gdk/gdk_utils.c
        tools/mserver/mserver5.c
Branch: Dec2025
Log Message:

Fix using --logging option of mserver5 to change component levels that are also 
used by --debug option. Fix #7936.


diffs (104 lines):

diff --git a/ChangeLog.Dec2025 b/ChangeLog.Dec2025
--- a/ChangeLog.Dec2025
+++ b/ChangeLog.Dec2025
@@ -1,6 +1,11 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
+* Tue May 12 2026 Lucas Pereira <[email protected]>
+- Fix using --logging option of mserver5 to change component levels
+  that are also used by --debug option. For overlapping components,
+  component level change via --logging was being discarded.
+
 * Thu Apr 23 2026 Sjoerd Mullender <[email protected]>
 - It is no longer allowed to run mserver5 or monetdbd as root.  There are
   important security concerns when these servers are run as root.
diff --git a/gdk/gdk_tracer.c b/gdk/gdk_tracer.c
--- a/gdk/gdk_tracer.c
+++ b/gdk/gdk_tracer.c
@@ -388,7 +388,7 @@ GDKtracer_get_component_level(const char
                GDKerror("unknown component\n");
                return NULL;
        }
-       return level_str[ATOMIC_GET(&lvl_per_component[component])];
+       return level_str[ATOMIC_GET(&lvl_per_component[component])] + 2;
 }
 
 
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -894,46 +894,46 @@ GDKgetdebug(void)
        ATOMIC_BASE_TYPE debug = ATOMIC_GET(&GDKdebug);
        const char *lvl;
        lvl = GDKtracer_get_component_level("accelerator");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= ACCELMASK;
        lvl = GDKtracer_get_component_level("algo");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= ALGOMASK;
        lvl = GDKtracer_get_component_level("alloc");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= ALLOCMASK;
        lvl = GDKtracer_get_component_level("bat");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= BATMASK;
        lvl = GDKtracer_get_component_level("check");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= CHECKMASK;
        lvl = GDKtracer_get_component_level("delta");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= DELTAMASK;
        lvl = GDKtracer_get_component_level("heap");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= HEAPMASK;
        lvl = GDKtracer_get_component_level("io");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= IOMASK;
        lvl = GDKtracer_get_component_level("mal_loader");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= LOADMASK;
        lvl = GDKtracer_get_component_level("par");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= PARMASK;
        lvl = GDKtracer_get_component_level("perf");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= PERFMASK;
        lvl = GDKtracer_get_component_level("tem");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= TEMMASK;
        lvl = GDKtracer_get_component_level("thrd");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= THRDMASK;
        lvl = GDKtracer_get_component_level("tm");
-       if (lvl && strcmp(lvl, "debug") == 0)
+       if (lvl && strcasecmp(lvl, "debug") == 0)
                debug |= TMMASK;
        return (unsigned) debug;
 }
diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c
--- a/tools/mserver/mserver5.c
+++ b/tools/mserver/mserver5.c
@@ -734,7 +734,8 @@ main(int argc, char **av)
                GDKfree(dbtrace);
        }
 
-       GDKsetdebug(debug | grpdebug);  /* add the algorithm tracers */
+       GDKsetdebug(GDKgetdebug() | debug | grpdebug);
+
        if (monet_init(set, setlen, false) == 0) {
                mo_free_options(set, setlen);
                if (GDKerrbuf && *GDKerrbuf)
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to