QRecallDownloadIdentity KeysForumsSupport
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Groups] Back to home page 
QRecall fails to launch on mount of external drive  XML
Forum Index » Problems and Bugs
Author Message
Charles Watts-Jones



Joined: 14-Oct-07 05:37
Messages: 55
Location: France
Offline

On my MacBook Pro (10.5.7) I have QRecall (1.1.2) set up to run a back-up sequence as soon as the external firewire drive mounts. This is however not happening but does as soon as I launch QRecall. According to Activity Monitor both QRecallMonitor and QRecallScheduler are running. Have I found a buglet? If not, what should I do to make sure the Action sequence does run?
James Bucanek



Joined: 14-Feb-07 10:05
Messages: 1548
Online

Charles,

It might be a event bug, the scheduler wasn't starting correctly, or the action just isn't showing up in the activity window.

The easiest way to begin diagnosing this would be to send a diagnostic report (Help > Send Report...). When you send the report, please note the approximate date/time that the the volume was mounted and the action didn't run.

- QRecall Development -
[Email]
Charles Watts-Jones



Joined: 14-Oct-07 05:37
Messages: 55
Location: France
Offline

Report on its way.
James Bucanek



Joined: 14-Feb-07 10:05
Messages: 1548
Online

Charles,

Thanks for sending the diagnostic report. The problem is that your scheduler isn't, in fact, running. Or, more precisely, it's not running when it's supposed to, which is all the time.

Your log shows that your scheduler is getting stopped when you log out, but not restarted when you log in. When you launch QRecall, it sees that the scheduler isn't running and starts it. That's what's causing your actions to start.

Looking deeper into the log, it appears that QRecall is trying to install the schedule as a daemon (so that it runs while you're logged out), but your configuration assumes that runs only while you're logged in. So I suspect QRecall's configuration and/or installation are confused:

Try this:

  • Open your QRecall preferences, go to the Authorization tab, change the option that says "Start and run actions while logged out", wait a few seconds, and change it again. This will cause QRecall to uninstall and reinstall the scheduler (twice). I suspect that you want this option off as Mac OS X doesn't mount volumes while you're logged out, so trying to run actions while logged out doesn't do any good.

  • Now, log out and back in (or restart) and send me another diagnostic report. I'll be able to tell if the scheduler gets restarted when you log back in.


  • Thanks,

    James

    - QRecall Development -
    [Email]
    Charles Watts-Jones



    Joined: 14-Oct-07 05:37
    Messages: 55
    Location: France
    Offline

    James Bucanek wrote:Open your QRecall preferences, go to the Authorization tab, change the option that says "Start and run actions while logged out", wait a few seconds, and change it again. This will cause QRecall to uninstall and reinstall the scheduler (twice). I suspect that you want this option off as Mac OS X doesn't mount volumes while you're logged out, so trying to run actions while logged out doesn't do any good.

    Have done as you request. The preferences were for QRecall to run when logged out so I turn this off and on again. By the way QRecall tried to run a back-up as soon as it as launched even though the external drive was not mounted. Surely it shouldn't do this? On my iMac I have QRecall set to wake from sleep, mount the external drive and run - works like a charm. Have been doing this for several versions as I found that Cocktail allowed me to tell the OS to mount external disks when I'm not logged in.
    Now, log out and back in (or restart) and send me another diagnostic report. I'll be able to tell if the scheduler gets restarted when you log back in.

    Report on its way, delayed by major electric storm that took out my modem/router (tho' protected by UPS unit). QRecall didn't try another back-up though I did mount the external drive, this is as it should be for it is meant to wait 12 hours between back-ups. Activity Monitor on my iMac shows QRecallMonitor and QRecallScheduler running while the MacBook only shows QRecallMonitor - no QRecallScheduler.

    Charles
    James Bucanek



    Joined: 14-Feb-07 10:05
    Messages: 1548
    Online

    Charles,

    I'm not sure what's wrong, but your system is not behaving correctly and I don't know why.

    When you install QRecall to run actions while you're logged out, it installs the QRecallScheduler as a system-wide user agent in /Library/LaunchAgents/com.qrecall.scheduler.plist (OS X 10.5 only). The scheduler is configured to run in the "background" so it should get launched whenever you log in or start up, and should then run forever.

    But that's not what's happening. Something is killing your scheduler when you log out:



    This shouldn't be happening. I tested this on three other 10.5.8 systems here and none of them stop the schedule when the user logs out.

    Because the schedule is configured to run as a Background daemon, the system doesn't automatically restart it again when you log back in (as it does the QRecallMonitor).

    At this point I'm a little baffled. The OS should not be killing user agents that are configured to run in the background (at least not until you shutdown).

    My only guess is that something else is sending kill signals to your user processes when you log out. Once the scheduler is stopped, it's never started again—until you launch the QRecall application, it notices that the scheduler is dead, and starts it manually.

    My only suggestion is that you track down what might be killing the scheduler or change the option to run the scheduler only while you're logged in. This would install the scheduler as a user agent, just like the QRecallMonitor, which seems to be working.


    - QRecall Development -
    [Email]
    Charles Watts-Jones



    Joined: 14-Oct-07 05:37
    Messages: 55
    Location: France
    Offline

    James Bucanek wrote:I'm not sure what's wrong, but your system is not behaving correctly and I don't know why.

    When you install QRecall to run actions while you're logged out, it installs the QRecallScheduler as a system-wide user agent in /Library/LaunchAgents/com.qrecall.scheduler.plist (OS X 10.5 only). The scheduler is configured to run in the "background" so it should get launched whenever you log in or start up, and should then run forever.

    But that's not what's happening. Something is killing your scheduler when you log out:

    My tests today suggest that the Scheduler is being killed when I shutdown. When I log out and sleep my MacBook the Scheduler is there when I log in. By the way I'm testing Scheduler's presence by running Activity Monitor immediately after logging back in.

    My only suggestion is that you track down what might be killing the scheduler or change the option to run the scheduler only while you're logged in. This would install the scheduler as a user agent, just like the QRecallMonitor, which seems to be working.

    I tried this (deleting the preference to run when not logged) and all went well. Activity Monitor confirmed that the Scheduler was running and QRecall ran a back-up as soon as the external drive mounted. QRecall then surprised me by asking if I wanted it to install the Scheduler (which was running at the time). I allowed it to do this. Doing so caused it to set the preference to run when I'm not logged in. I left it set and logged out followed by sleep. Logging back in I found Scheduler still active. I tried to see if closing the screen lid had any effect - it didn't. Then I shutdown. On restarting I found Scheduler had been killed.

    I've sent you a new diagnostic report and can send you some screenshots. Perhaps the answer is to change the option to run the scheduler only while I'm logged in and then not to install the Scheduler if/when QRecall asks that it should. Ideas?
    James Bucanek



    Joined: 14-Feb-07 10:05
    Messages: 1548
    Online

    Charles Watts-Jones wrote:I tried this (deleting the preference to run when not logged) and all went well. Activity Monitor confirmed that the Scheduler was running and QRecall ran a back-up as soon as the external drive mounted. QRecall then surprised me by asking if I wanted it to install the Scheduler (which was running at the time).
    This seems completely wrong. If the scheduler is configured to run only while you're logged in, then QRecall should never ask to install it. It only does this when the scheduler is set to run when you're logged out and you haven't pre-authorized QRecall to use administrative privileges. In this one circumstance, QRecall needs your administrative privileges in order to install the scheduler—the problem being is that is shouldn't be asking in the first place.

    Something strange is going on. It almost sounds like QRecall's preferences don't agree with the installation. What I need to do is sit down with the log records you've sent me and see if I can determine where the processes is going wrong. I may also send you some simple shell commands to execute, to verify that we don't have a permissions or file ownership problem, and that the scheduler is getting installed correctly.


    - QRecall Development -
    [Email]
    James Bucanek



    Joined: 14-Feb-07 10:05
    Messages: 1548
    Online

    Charles,

    I did find some inconsistencies in your log records. For example, at one point you changed from running the scheduler only when you're logged in to always. In the log, I can see that the "agent" scheduler is shutdown and uninstalled. Then the "daemon" scheduler is installed, but it never starts. I think this is why QRecall spontaniously asked if you wanted to install it. That makes sense, but why it didn't start is a mystery.

    Anyway, I did find a recent occurrence where your scheduler was configured to run when you're logged out and did, indeed, continue to run through several log-out/log-in cycles. So that's good.

    But some things still seem confused. I'm going to suggest that you (almost) completely uninstall QRecall and set it up again. This will require two restarts, so do it when it's convenient:

    1. In QRecall > Preferences > Authorization, uncheck the option "Start and run actions while logged out."
    2. Hold down the Option and Shift keys and choose the QRecall > Quit and Uninstall command.
    3. Trash any files beginning with com.qrecall from the /Library/LaunchDaemons, /Library/LaunchAgents, and ~/Library/LaunchAgents folders. (Do not attempt to empty the trash yet.)
    4. Trash the /Library/Application Support/QRecall and the ~/Library/Application Support/QRecall folders (if they exist).
    5. Restart your computer. (Now you can empty your trash.)
    6. Launch QRecall.
    7. In Preferences, pre-authorize QRecall to use Administrative privileges.
    8. Check the option "Start and run actions while logged out."
    9. Restart your computer.

    After all of that, log out and back in at least twice (there's no rush) and then send me another diagnostics report.


    - QRecall Development -
    [Email]
    Charles Watts-Jones



    Joined: 14-Oct-07 05:37
    Messages: 55
    Location: France
    Offline

    James Bucanek wrote:
    But some things still seem confused. I'm going to suggest that you (almost) completely uninstall QRecall and set it up again. This will require two restarts, so do it when it's convenient:

    1. In QRecall > Preferences > Authorization, uncheck the option "Start and run actions while logged out."
    2. Hold down the Option and Shift keys and choose the QRecall > Quit and Uninstall command.
    3. Trash any files beginning with com.qrecall from the /Library/LaunchDaemons, /Library/LaunchAgents, and ~/Library/LaunchAgents folders. (Do not attempt to empty the trash yet.)
    4. Trash the /Library/Application Support/QRecall and the ~/Library/Application Support/QRecall folders (if they exist).
    5. Restart your computer. (Now you can empty your trash.)
    6. Launch QRecall.
    7. In Preferences, pre-authorize QRecall to use Administrative privileges.
    8. Check the option "Start and run actions while logged out."
    9. Restart your computer.

    After all of that, log out and back in at least twice (there's no rush) and then send me another diagnostics report.


    Followed instructions to the letter. Report now sent. FYI there were no com.qrecall files in the /Library/LaunchDaemons, /Library/LaunchAgents, and ~/Library/LaunchAgents folders. While the /Library/Application Support/QRecall and the ~/Library/Application Support/QRecall folders existed, they were empty.
    James Bucanek



    Joined: 14-Feb-07 10:05
    Messages: 1548
    Online

    Charles Watts-Jones wrote:FYI there were no com.qrecall files in the /Library/LaunchDaemons, /Library/LaunchAgents, and ~/Library/LaunchAgents folders. While the /Library/Application Support/QRecall and the ~/Library/Application Support/QRecall folders existed, they were empty.

    That's the way it should be. When you use Shift+Option+Command+Q to Quit and Uninstall QRecall, it should remove all of those components. I just wasn't taking any chances.

    Well, it appears from your log that everything was reinstalled correctly but your scheduler still isn't getting started when you start up. Why I can't say. Launch your Console application and look in your console and system logs for anything from the QRecallKicker (just search for "qrecall"). If you find any messages, send them to me. If you don't, I'll send you a special version of the QRecallKicker daemon that logs extra detail to the console log.

    The QRecallKicker daemon is a system daemon that (should) poke the launchd service into starting your scheduler when your computer boots. My guess is that either it's not running, or launchd isn't starting your scheduler when it gets poked.

    Two quick questions: Do you have your system configured to auto-log in, or boot to the login screen? And is your /Users folder on a different partition than your main /System folder?

    - QRecall Development -
    [Email]
    Charles Watts-Jones



    Joined: 14-Oct-07 05:37
    Messages: 55
    Location: France
    Offline

    James Bucanek wrote:Well, it appears from your log that everything was reinstalled correctly but your scheduler still isn't getting started when you start up. Why I can't say. Launch your Console application and look in your console and system logs for anything from the QRecallKicker (just search for "qrecall"). If you find any messages, send them to me. If you don't, I'll send you a special version of the QRecallKicker daemon that logs extra detail to the console log.

    I didn't see anything from QRecallKicker, here are the QRecall messages (console & system):

    11/08/2009 18:57:46 com.apple.launchd[129] (com.qrecall.monitor[169]) Exited: Terminated
    11/08/2009 19:11:18 [0x0-0x28028].com.qrecall.client[229] No matching processes belonging to you were found
    11/08/2009 19:22:53 [0x0-0x95095].com.qrecall.client[462] launchctl: Error unloading: com.qrecall.scheduler
    11/08/2009 19:22:53 [0x0-0x95095].com.qrecall.client[462] No matching processes belonging to you were found

    Aug 11 18:57:46 CharlesBook com.apple.launchd[129] (com.qrecall.monitor[169]): Exited: Terminated
    Aug 11 19:10:57 CharlesBook authexec[238]: executing /Applications/QRecall.app/Contents/Resources/QRecallHelper
    Aug 11 19:11:18 CharlesBook [0x0-0x28028].com.qrecall.client[229]: No matching processes belonging to you were found
    Aug 11 19:22:53 CharlesBook [0x0-0x95095].com.qrecall.client[462]: launchctl: Error unloading: com.qrecall.scheduler
    Aug 11 19:22:53 CharlesBook [0x0-0x95095].com.qrecall.client[462]: No matching processes belonging to you were found

    Two quick questions: Do you have your system configured to auto-log in, or boot to the login screen? And is your /Users folder on a different partition than your main /System folder?

    All my machines boot to the login screen and the /Users are on the same drive & partition as the /System folder.
    James Bucanek



    Joined: 14-Feb-07 10:05
    Messages: 1548
    Online

    Charles,

    I'm sending you a special version of the QRecallKickStart deamon. This is the system component that causes launchd to start your scheduler process as soon as you boot (rather than waiting for you to log in the first time). Hopefully, it should shed some light on what's going on—or not going on.

    - QRecall Development -
    [Email]
     
    Forum Index » Problems and Bugs
    Go to:   
    Powered by JForum 2.1.8 © JForum Team