Posts by Anonyymi

1) Message boards : BOINC Manager : User activity detection on Linux (Message 27867)
Posted 10 Oct 2009 by Anonyymi
Post:
Can you please test if it still doesn't work with Boinc 6.10.13? It's easy to say it doesn't work on a version that's over a year old, but that doesn't mean it may not have been fixed in the mean time (and the ticket be forgotten to close).

I assumed that it wouldn't work because the trunk still has the algorithm that relies on /proc/interrupt. The function is here: http://boinc.berkeley.edu/trac/browser/trunk/boinc/client/hostinfo_unix.cpp#L1330. But to be absolutely sure I tested version 6.10.13 i686-pc-linux-gnu and it behaves like the old version 6.2.12: detects keyboard but not USB mouse.
2) Message boards : BOINC Manager : User activity detection on Linux (Message 27860)
Posted 10 Oct 2009 by Anonyymi
Post:
I noticed that BOINC is not able to detect user input on Linux http://boinc.berkeley.edu/trac/ticket/463. I need mouse event detection and interpretation too and I have noticed that whether /dev/input/events work depends on which mouse/usbhid/evdev drivers are loaded. I guess some drivers just do not use the /dev/input/event interface. The /dev/input/events used to work on my laptop and Vojtech Pavlik's evtest worked. But afterwards I have changed the software configuration (upgraded distribution, probably X and Linux). Now I am using Ubuntu's Linux 2.6.27-11-generic and BOINC 6.2.12 i686-pc-linux-gnu. As expected, BOINC does not detect USB mouse activity.

Gnome's Tracker indexing and search tool uses X to detect mouse events and to stop indexing when user activity is detected. Perhaps BOINC could also use X until this shortcoming is fixed in Linux? I made (or actually copied it from somewhere and modified a bit) this little program which waits for mouse events and exits when 50 movements (MotionNotify) have been detected:

#include <stdio.h>
#include <unistd.h>
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Xutil.h>
#include <X11/Shell.h>


Display *d;

void snoop_all_windows(Window root, unsigned long type)
{

  static int level = 0;
  Window parent, *children, *child2;
  unsigned int nchildren;
  int stat, i,j,k;

  level++;

  stat = XQueryTree(d, root, &root, &parent, &children, &nchildren);
  if (stat == FALSE)
   {
     fprintf(stderr, "Can't query window tree...\n");
     return;
   }

  if (nchildren == 0)
  
    return;

  XSelectInput(d, root, type);

  for(i=0; i < nchildren; i++)
   {
     XSelectInput(d, children[i], type);
     snoop_all_windows(children[i], type);
   }

  XFree((char *)children);
}


int main(int argc, char **argv)
{
  //daemon(0,0);
  //sleep(10);

  char *hostname;
  char *string;
  XEvent xev;
  int count = 0;

  if (argv[1] == NULL)
    hostname = ":0";
  else
    hostname = argv[1];

  d = XOpenDisplay(hostname);
  if (d == NULL)
   {
     fprintf(stderr, "Blah, can't open display: %s\n", hostname);
     exit(10);
   }

  snoop_all_windows(DefaultRootWindow(d), PointerMotionMask);

  while(1)
    {
      int k;
      k = 1;
      while (k<50) {
	XNextEvent(d, &xev);
	k++;
	}
      

      switch (xev.type) {
	
      case MotionNotify:
	return;
	
      }

   }
}


/proc/interrupts cannot be used to detect USB mouse activity because it sums all USB interrupts. Here is my /proc/interrupts sampled at 1 second interval while not moving the mouse or typing:
           CPU0       CPU1       
  0:   13250755    7627303   IO-APIC-edge      timer
  1:      73286       6555   IO-APIC-edge      i8042
  8:         72         65   IO-APIC-edge      rtc0
  9:      19177       1334   IO-APIC-fasteoi   acpi
 12:      16868       4253   IO-APIC-edge      i8042
 14:      92427      12625   IO-APIC-edge      ata_piix
 15:          0          0   IO-APIC-edge      ata_piix
 16:   32063753    1108943   IO-APIC-fasteoi   uhci_hcd:usb1, HDA Intel, fglrx[0]@PCI:1:0:0
 17:          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
 18:          0          0   IO-APIC-fasteoi   ehci_hcd:usb3, uhci_hcd:usb6
 20:  127813539    7708352   IO-APIC-fasteoi   uhci_hcd:usb4, ehci_hcd:usb7
 21:   24865509     278023   IO-APIC-fasteoi   uhci_hcd:usb5
219:    7669594     117154   PCI-MSI-edge      ahci
NMI:          0          0   Non-maskable interrupts
LOC:  293717402  249457069   Local timer interrupts
RES:    3507848    5451895   Rescheduling interrupts
CAL:      13948      16305   function call interrupts
TLB:      60245     133669   TLB shootdowns
SPU:          0          0   Spurious interrupts
ERR:          2
MIS:          0
           CPU0       CPU1       
  0:   13250755    7627303   IO-APIC-edge      timer
  1:      73290       6555   IO-APIC-edge      i8042
  8:         72         65   IO-APIC-edge      rtc0
  9:      19177       1334   IO-APIC-fasteoi   acpi
 12:      16868       4253   IO-APIC-edge      i8042
 14:      92427      12625   IO-APIC-edge      ata_piix
 15:          0          0   IO-APIC-edge      ata_piix
 16:   32063861    1108943   IO-APIC-fasteoi   uhci_hcd:usb1, HDA Intel, fglrx[0]@PCI:1:0:0
 17:          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
 18:          0          0   IO-APIC-fasteoi   ehci_hcd:usb3, uhci_hcd:usb6
 20:  127813564    7708352   IO-APIC-fasteoi   uhci_hcd:usb4, ehci_hcd:usb7
 21:   24865866     278023   IO-APIC-fasteoi   uhci_hcd:usb5
219:    7669625     117154   PCI-MSI-edge      ahci
NMI:          0          0   Non-maskable interrupts
LOC:  293717980  249457392   Local timer interrupts
RES:    3507850    5451898   Rescheduling interrupts
CAL:      13948      16305   function call interrupts
TLB:      60245     133669   TLB shootdowns
SPU:          0          0   Spurious interrupts
ERR:          2
MIS:          0



Perhaps this message about putting an activity counter into Linux is also of interest.

The Windows version of BOINC uses the GetLastInputInfo API which is not system-wide but apparently BOINC tries to make it system-wide with some kind of shared file/memory and DLL. Perhaps this could be ported to X?
3) Message boards : BOINC client : Win XP:Boinc dies at startup and creates event 7034 (Message 2306)
Posted 28 Dec 2005 by Anonyymi
Post:
But check if you can change the password, under the administrator properties.


I changed it as I said in my second post (or at least tried to say:). The new password works but the services.msc-application still wants to show the 15-character default password so I don't know if it has accepted my new password.

Check all port settings as they should be done.


Thanks for the link. I granted boinc.exe permission to act as a server. Previously boinc.exe was denied of server rights. I removed my startup script and restarted a few times and couldn't see any errors. Boinc and Einstein seemed to be running although there were two WUs in Boinc Manager's Work-tab, one running at 5% and the other completed. I hope this is normal.

Hopefully I've got the firewall configured correctly now. I'm using F-Secure's Internet security suite the UI of which I find just as confusing as Symantec's.
4) Message boards : BOINC client : Win XP:Boinc dies at startup and creates event 7034 (Message 2154)
Posted 21 Dec 2005 by Anonyymi
Post:
I came up with this quick not-so-elegant patch: I placed this batch file
net start boinc
"c:\\program files\\boinc\\boinccmd" --set_run_mode auto

in C:\\WINDOWS\\system32\\GroupPolicy\\Machine\\Scripts\\Startup and added it to the startup scripts of the local computer's group policy. It works but the proper startup method still fails and creates an event 7034.

It seems that services.msc doesn't want to accept administrator's password. I changed the password today to a 13-character one but it still refuses to let go of the 15-character password. I have no idea what that password is because my previous password was 9 characters. I wonder if this could cause the problem.
5) Message boards : BOINC client : Win XP:Boinc dies at startup and creates event 7034 (Message 2120)
Posted 20 Dec 2005 by Anonyymi
Post:
Hi everybody!

My problem is that on my Microsoft Windows XP [version 5.1.2600] based computer Boinc dies at startup and leaves an error event 7034 in the Windows System Event Log. The log message says that service BOINC shut down suddenly and that it has done so 1 times already.

I even upgraded to the new Boinc. Here's from stdoutdae.txt:

StartServiceCtrlDispatcher being called.
This may take several seconds.  Please wait.
2005-12-20 14:47:16 [---] Starting BOINC client version 5.2.13 for windows_intelx86
2005-12-20 14:47:16 [---] libcurl/7.14.0 OpenSSL/0.9.8 zlib/1.2.3
2005-12-20 14:47:16 [---] Executing as a daemon
2005-12-20 14:47:16 [---] Data directory: C:\\Program Files\\BOINC
2005-12-20 14:47:16 [---] BOINC is running as a service and as a non-system user.
2005-12-20 14:47:16 [---] No application graphics will be available.
2005-12-20 14:47:16 [---] Processor: 1 AuthenticAMD Mobile AMD Athlon(tm) XP 2000+
2005-12-20 14:47:16 [---] Memory: 751.48 MB physical, 1.79 GB virtual
2005-12-20 14:47:16 [---] Disk: 37.26 GB total, 26.42 GB free
2005-12-20 14:47:16 [---] Version change detected (4.45.0 -> 5.2.13); running CPU benchmarks
2005-12-20 14:47:16 [Einstein@Home] Computer ID: 337540; location: home; project prefs: default
2005-12-20 14:47:16 [---] General prefs: from Einstein@Home (last modified 2005-10-16 10:20:54)
2005-12-20 14:47:16 [---] General prefs: using separate prefs for home
2005-12-20 14:47:17 [---] Remote control not allowed; using loopback address
2005-12-20 14:47:20 [---] Running CPU benchmarks
2005-12-20 14:48:19 [---] Benchmark results:
2005-12-20 14:48:19 [---]    Number of CPUs: 1
2005-12-20 14:48:19 [---]    1501 double precision MIPS (Whetstone) per CPU
2005-12-20 14:48:19 [---]    2513 integer MIPS (Dhrystone) per CPU
2005-12-20 14:48:19 [---] Finished CPU benchmarks
2005-12-20 14:48:20 [Einstein@Home] Resuming computation for result l1_0416.5__0416.7_0.1_T12_S4lD_2 using einstein version 479
2005-12-20 14:48:21 [---] Resuming computation and network activity
2005-12-20 14:48:21 [---] request_reschedule_cpus: Resuming activities
2005-12-20 14:50:39 [---] Exit requested by user
2005-12-20 14:50:39 [---] request_reschedule_cpus: exit_tasks


The exit in the second last line was caused by a restart. Here's what it says at startup:

StartServiceCtrlDispatcher being called.
This may take several seconds.  Please wait.
2005-12-20 14:51:47 [---] Starting BOINC client version 5.2.13 for windows_intelx86
2005-12-20 14:51:47 [---] libcurl/7.14.0 OpenSSL/0.9.8 zlib/1.2.3
2005-12-20 14:51:47 [---] Executing as a daemon
2005-12-20 14:51:47 [---] Data directory: C:\\Program Files\\BOINC
2005-12-20 14:51:47 [---] BOINC is running as a service and as a non-system user.
2005-12-20 14:51:47 [---] No application graphics will be available.
2005-12-20 14:51:48 [---] Processor: 1 AuthenticAMD Mobile AMD Athlon(tm) XP 2000+
2005-12-20 14:51:48 [---] Memory: 751.48 MB physical, 1.79 GB virtual
2005-12-20 14:51:48 [---] Disk: 37.26 GB total, 26.44 GB free
2005-12-20 14:51:48 [Einstein@Home] Computer ID: 337540; location: home; project prefs: default
2005-12-20 14:51:48 [---] General prefs: from Einstein@Home (last modified 2005-10-16 10:20:54)
2005-12-20 14:51:48 [---] General prefs: using separate prefs for home
2005-12-20 14:51:51 [---] Remote control not allowed; using loopback address
2005-12-20 14:51:51 [---] GUI RPC listen failed: -1


Here's what happens when I start Boinc from services.msc:

StartServiceCtrlDispatcher being called.
This may take several seconds.  Please wait.
2005-12-20 16:49:17 [---] Starting BOINC client version 5.2.13 for windows_intelx86
2005-12-20 16:49:17 [---] libcurl/7.14.0 OpenSSL/0.9.8 zlib/1.2.3
2005-12-20 16:49:17 [---] Executing as a daemon
2005-12-20 16:49:17 [---] Data directory: C:\\Program Files\\BOINC
2005-12-20 16:49:17 [---] BOINC is running as a service and as a non-system user.
2005-12-20 16:49:17 [---] No application graphics will be available.
2005-12-20 16:49:17 [---] Processor: 1 AuthenticAMD Mobile AMD Athlon(tm) XP 2000+
2005-12-20 16:49:17 [---] Memory: 751.48 MB physical, 1.79 GB virtual
2005-12-20 16:49:17 [---] Disk: 37.26 GB total, 26.43 GB free
2005-12-20 16:49:17 [Einstein@Home] Computer ID: 337540; location: home; project prefs: default
2005-12-20 16:49:17 [---] General prefs: from Einstein@Home (last modified 2005-10-16 10:20:54)
2005-12-20 16:49:17 [---] General prefs: using separate prefs for home
2005-12-20 16:49:18 [---] Remote control not allowed; using loopback address
2005-12-20 16:49:18 [Einstein@Home] Resuming computation for result l1_0416.5__0416.7_0.1_T12_S4lD_2 using einstein version 479


And here's what happens when I start it from Start|BOINC|Boinc manager:

[pre]To pause/resume tasks hit CTRL-C, to exit hit CTRL-BREAK
2005-12-20 16:47:46 [---] Starting BOINC client version 5.2.13 for windows_intelx86
2005-12-20 16:47:46 [---] libcurl/7.14.0 OpenSSL/0.9.8 zlib/1.2.3
2005-12-20 16:47:46 [---] Data directory: C:\\Program Files\\BOINC
2005-12-20 16:47:46 [---] Processor: 1 AuthenticAMD Mobile AMD Athlon(tm) XP 2000+
2005-12-20 16:47:46 [---] Memory: 751.48 MB physical, 1.79 GB virtual
2005-12-20 16:47:46 [---] Disk: 37.26 GB total, 26.43 GB free
2005-12-20 16:47:46 [Einstein@Home] Computer ID: 337540; location: home; project prefs: default
2005-12-20 16:47:46 [---] General prefs: from Einstein@Home (last modified 2005-10-16 10:20:54)
2005-12-20 16:47:46 [---] General prefs: using separate prefs for home
2005-12-20 16:47:47 [---] Remote control not allowed; using loopback address
2005-12-20 16:47:47 [Einstein@Home] Resuming computation for result l1_0416.5__0416.7_0.1_T12_S4lD_2 using einstein version 479[\\pre]

Here are the last few lines from stderrdae.txt:

[pre]2005-12-19 03:02:56 [---] GUI RPC listen failed: -1
gstate.init() failed: -181
2005-12-19 14:27:10 [Einstein@Home] Deferring communication with project for 59 seconds
2005-12-19 20:31:38 [Einstein@Home] Deferring communication with project for 59 seconds
2005-12-19 23:05:27 [Einstein@Home] Deferring communication with project for 59 seconds
2005-12-20 05:34:14 [Einstein@Home] Deferring communication with project for 59 seconds
2005-12-20 07:52:31 [Einstein@Home] Deferring communication with project for 59 seconds
2005-12-20 13:33:01 [---] GUI RPC listen failed: -1
gstate.init() failed: -181
2005-12-20 13:37:37 [---] GUI RPC listen failed: -1
gstate.init() failed: -181
2005-12-20 14:11:19 [---] GUI RPC listen failed: -1
gstate.init() failed: -181
2005-12-20 14:29:19 [---] GUI RPC listen failed: -1
gstate.init() failed: -181
2005-12-20 14:51:51 [---] GUI RPC listen failed: -1
gstate.init() failed: -181
2005-12-20 15:31:56 [---] GUI RPC listen failed: -1
gstate.init() failed: -181
2005-12-20 15:58:08 [---] GUI RPC listen failed: -1
gstate.init() failed: -181
2005-12-20 16:08:01 [---] GUI RPC listen failed: -1
gstate.init() failed: -181[\\pre]

The first "listen failed" was caused by an automatic restart by automatic Windows updates (as in prior to Boinc upgrade) and the rest were caused by my feeble attempts to make it work.

I'd like to make my system as automated as possible and it really doesn't help having to log on as the admistrator just to start Boinc and then log on as the normal user especially when the user profiles were corrupted a few weeks ago and the login screen keyboard is now US-mapped and I have to input รค's as Alt+132.




Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.