What is the “canary thread” and why is it starving?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP








up vote
11
down vote

favorite
4












The following occasionally appears in /var/log/syslog:



rtkit-daemon[1145]: The canary thread is apparently starving. Taking action.
rtkit-daemon[1145]: Demoting known real-time threads.
rtkit-daemon[1145]: Successfully demoted thread 1431 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1430 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1368 of process 1368 (n/a).
rtkit-daemon[1145]: Demoted 3 threads.


What's going on here?







share|improve this question






















  • Any errors in kern.log concerning ACPI? If so: enter BIOS and check if ACPI power save options is set to Extended. Change it to Normal.
    – Rinzwind
    Dec 11 '11 at 19:59















up vote
11
down vote

favorite
4












The following occasionally appears in /var/log/syslog:



rtkit-daemon[1145]: The canary thread is apparently starving. Taking action.
rtkit-daemon[1145]: Demoting known real-time threads.
rtkit-daemon[1145]: Successfully demoted thread 1431 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1430 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1368 of process 1368 (n/a).
rtkit-daemon[1145]: Demoted 3 threads.


What's going on here?







share|improve this question






















  • Any errors in kern.log concerning ACPI? If so: enter BIOS and check if ACPI power save options is set to Extended. Change it to Normal.
    – Rinzwind
    Dec 11 '11 at 19:59













up vote
11
down vote

favorite
4









up vote
11
down vote

favorite
4






4





The following occasionally appears in /var/log/syslog:



rtkit-daemon[1145]: The canary thread is apparently starving. Taking action.
rtkit-daemon[1145]: Demoting known real-time threads.
rtkit-daemon[1145]: Successfully demoted thread 1431 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1430 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1368 of process 1368 (n/a).
rtkit-daemon[1145]: Demoted 3 threads.


What's going on here?







share|improve this question














The following occasionally appears in /var/log/syslog:



rtkit-daemon[1145]: The canary thread is apparently starving. Taking action.
rtkit-daemon[1145]: Demoting known real-time threads.
rtkit-daemon[1145]: Successfully demoted thread 1431 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1430 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1368 of process 1368 (n/a).
rtkit-daemon[1145]: Demoted 3 threads.


What's going on here?









share|improve this question













share|improve this question




share|improve this question








edited Dec 11 '11 at 22:34

























asked Dec 11 '11 at 19:43









ændrük

40.5k59188336




40.5k59188336











  • Any errors in kern.log concerning ACPI? If so: enter BIOS and check if ACPI power save options is set to Extended. Change it to Normal.
    – Rinzwind
    Dec 11 '11 at 19:59

















  • Any errors in kern.log concerning ACPI? If so: enter BIOS and check if ACPI power save options is set to Extended. Change it to Normal.
    – Rinzwind
    Dec 11 '11 at 19:59
















Any errors in kern.log concerning ACPI? If so: enter BIOS and check if ACPI power save options is set to Extended. Change it to Normal.
– Rinzwind
Dec 11 '11 at 19:59





Any errors in kern.log concerning ACPI? If so: enter BIOS and check if ACPI power save options is set to Extended. Change it to Normal.
– Rinzwind
Dec 11 '11 at 19:59











2 Answers
2






active

oldest

votes

















up vote
21
down vote



accepted










The term "canary" as used here comes from coal mining originally. Coal miners used canaries to detect dangerous gases (if the canary they carried with them died, they knew they had to get out of the shaft/mine ASAP). As a result the term "canary" is now often used for anything that you use to get an (early) warning about a dangerous situation.



In this case it seems like 'rtkit' starts a "normal" thread to test if the threads that get "real time" priorities are "starving" other threads (& processes), where "starving" means that they get too little processor time. This is a safety measure to make sure that processes/threads that have access to real time priorities don't use up so much CPU time that other tasks get none anymore.



So apparently some thread(s) that got real-time priorities from rtkit is/are misbehaving, and trying to monopolize the CPU, rtkit detects this with its "canary thread", and thus rtkit takes away the real-time priorities.






share|improve this answer





























    up vote
    -3
    down vote













    It is a buffer overflow



    Wikipedia buffer overflow canaries



    I can not tell from the logs you posted where the problem is, can you check or pastebin log entries above an below those messages ? What is process 1368 ?



    sudo ps -p 1368





    share|improve this answer
















    • 2




      This is not about buffer overflows, but the use of the word "canary" there is also derived from the use of coal miner's canaries.
      – JanC
      Dec 11 '11 at 20:08










    Your Answer







    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "89"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: false,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );








     

    draft saved


    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f86974%2fwhat-is-the-canary-thread-and-why-is-it-starving%23new-answer', 'question_page');

    );

    Post as a guest






























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    21
    down vote



    accepted










    The term "canary" as used here comes from coal mining originally. Coal miners used canaries to detect dangerous gases (if the canary they carried with them died, they knew they had to get out of the shaft/mine ASAP). As a result the term "canary" is now often used for anything that you use to get an (early) warning about a dangerous situation.



    In this case it seems like 'rtkit' starts a "normal" thread to test if the threads that get "real time" priorities are "starving" other threads (& processes), where "starving" means that they get too little processor time. This is a safety measure to make sure that processes/threads that have access to real time priorities don't use up so much CPU time that other tasks get none anymore.



    So apparently some thread(s) that got real-time priorities from rtkit is/are misbehaving, and trying to monopolize the CPU, rtkit detects this with its "canary thread", and thus rtkit takes away the real-time priorities.






    share|improve this answer


























      up vote
      21
      down vote



      accepted










      The term "canary" as used here comes from coal mining originally. Coal miners used canaries to detect dangerous gases (if the canary they carried with them died, they knew they had to get out of the shaft/mine ASAP). As a result the term "canary" is now often used for anything that you use to get an (early) warning about a dangerous situation.



      In this case it seems like 'rtkit' starts a "normal" thread to test if the threads that get "real time" priorities are "starving" other threads (& processes), where "starving" means that they get too little processor time. This is a safety measure to make sure that processes/threads that have access to real time priorities don't use up so much CPU time that other tasks get none anymore.



      So apparently some thread(s) that got real-time priorities from rtkit is/are misbehaving, and trying to monopolize the CPU, rtkit detects this with its "canary thread", and thus rtkit takes away the real-time priorities.






      share|improve this answer
























        up vote
        21
        down vote



        accepted







        up vote
        21
        down vote



        accepted






        The term "canary" as used here comes from coal mining originally. Coal miners used canaries to detect dangerous gases (if the canary they carried with them died, they knew they had to get out of the shaft/mine ASAP). As a result the term "canary" is now often used for anything that you use to get an (early) warning about a dangerous situation.



        In this case it seems like 'rtkit' starts a "normal" thread to test if the threads that get "real time" priorities are "starving" other threads (& processes), where "starving" means that they get too little processor time. This is a safety measure to make sure that processes/threads that have access to real time priorities don't use up so much CPU time that other tasks get none anymore.



        So apparently some thread(s) that got real-time priorities from rtkit is/are misbehaving, and trying to monopolize the CPU, rtkit detects this with its "canary thread", and thus rtkit takes away the real-time priorities.






        share|improve this answer














        The term "canary" as used here comes from coal mining originally. Coal miners used canaries to detect dangerous gases (if the canary they carried with them died, they knew they had to get out of the shaft/mine ASAP). As a result the term "canary" is now often used for anything that you use to get an (early) warning about a dangerous situation.



        In this case it seems like 'rtkit' starts a "normal" thread to test if the threads that get "real time" priorities are "starving" other threads (& processes), where "starving" means that they get too little processor time. This is a safety measure to make sure that processes/threads that have access to real time priorities don't use up so much CPU time that other tasks get none anymore.



        So apparently some thread(s) that got real-time priorities from rtkit is/are misbehaving, and trying to monopolize the CPU, rtkit detects this with its "canary thread", and thus rtkit takes away the real-time priorities.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Dec 11 '11 at 20:15

























        answered Dec 11 '11 at 20:06









        JanC

        16.3k13446




        16.3k13446






















            up vote
            -3
            down vote













            It is a buffer overflow



            Wikipedia buffer overflow canaries



            I can not tell from the logs you posted where the problem is, can you check or pastebin log entries above an below those messages ? What is process 1368 ?



            sudo ps -p 1368





            share|improve this answer
















            • 2




              This is not about buffer overflows, but the use of the word "canary" there is also derived from the use of coal miner's canaries.
              – JanC
              Dec 11 '11 at 20:08














            up vote
            -3
            down vote













            It is a buffer overflow



            Wikipedia buffer overflow canaries



            I can not tell from the logs you posted where the problem is, can you check or pastebin log entries above an below those messages ? What is process 1368 ?



            sudo ps -p 1368





            share|improve this answer
















            • 2




              This is not about buffer overflows, but the use of the word "canary" there is also derived from the use of coal miner's canaries.
              – JanC
              Dec 11 '11 at 20:08












            up vote
            -3
            down vote










            up vote
            -3
            down vote









            It is a buffer overflow



            Wikipedia buffer overflow canaries



            I can not tell from the logs you posted where the problem is, can you check or pastebin log entries above an below those messages ? What is process 1368 ?



            sudo ps -p 1368





            share|improve this answer












            It is a buffer overflow



            Wikipedia buffer overflow canaries



            I can not tell from the logs you posted where the problem is, can you check or pastebin log entries above an below those messages ? What is process 1368 ?



            sudo ps -p 1368






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Dec 11 '11 at 20:00









            Panther

            74.8k10149256




            74.8k10149256







            • 2




              This is not about buffer overflows, but the use of the word "canary" there is also derived from the use of coal miner's canaries.
              – JanC
              Dec 11 '11 at 20:08












            • 2




              This is not about buffer overflows, but the use of the word "canary" there is also derived from the use of coal miner's canaries.
              – JanC
              Dec 11 '11 at 20:08







            2




            2




            This is not about buffer overflows, but the use of the word "canary" there is also derived from the use of coal miner's canaries.
            – JanC
            Dec 11 '11 at 20:08




            This is not about buffer overflows, but the use of the word "canary" there is also derived from the use of coal miner's canaries.
            – JanC
            Dec 11 '11 at 20:08












             

            draft saved


            draft discarded


























             


            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f86974%2fwhat-is-the-canary-thread-and-why-is-it-starving%23new-answer', 'question_page');

            );

            Post as a guest













































































            Popular posts from this blog

            How do so many people here on Academia.SE, and in general, afford lavish higher education programs?

            Trouble downloading packages list due to a “Hash sum mismatch” error

            How do I move numbers in filenames, in a batch renaming operation?