OPT332

Message boards : Number crunching : OPT332

Author Message
chablis
Send message
Joined: Mar 7 06
Posts: 5
Credit: 1,065,112
RAC: 0

I have been having 100% failure over several machines, all Win2000 with 3.32. Some machines are workstations and there is at least 1 Server. 3.30 worked fine. Yes my Java is up to date (checked today).

Chablis

Ageless
Avatar
Send message
Joined: Jun 29 06
Posts: 261
Credit: 149,220
RAC: 17

with 3.32.

Are you from the future? We all have 1.32 ;-)

But yes, I have the same thing. It\'s a pop-up that says:
optimizer_1.32_windows_intelx86 - Entry point not found
The procedure entry point GetProcessId could not be found in the dynamic library KERNEL32.dll

In the log it says:
06-Mar-08 23:45:50|malariacontrol.net beta|[sched_op_debug] Reason: Unrecoverable error for result opt_29_-1183_5_75431853_1 (There are no child processes to wait for. (0x80) - exit code 128 (0x80))
06-Mar-08 23:45:56|malariacontrol.net beta|[error][error] Can\'t rename output file opt_29_-1183_5_75431853_1_0
06-Mar-08 23:45:56|malariacontrol.net beta|Computation for task opt_29_-1183_5_75431853_1 finished
06-Mar-08 23:45:56|malariacontrol.net beta|Output file opt_29_-1183_5_75431853_1_0 for task opt_29_-1183_5_75431853_1 absent

The actual error would usually point to an old DirectX version. I hope you don\'t want us to update to DirectX 10, as then we have plenty of problems around here. It\'s Vista only. My Dx version is the November 2007 update of Dx 9.0c

Since these crashes totally halt BOINC, I will abort the other optimizer 1.32 task and not allow Optimizers to be downloaded for now.
____________
Jord.

BOINC FAQ Service

Thyme Lawn
Send message
Joined: Jun 20 06
Posts: 181
Credit: 1,234,062
RAC: 1,378

The GetProcessId() function isn\'t available in Win2K. It was introduced in XP SP1 and Server 2003.

If it\'s essential to use process identifiers rather than handles the only ways I\'m aware of that you can get hold of it directly in Win2K are:


  • when a child process is created it\'s returned in the PROCESS_INFORMATION structure passed to CreateProcess().

  • a process can get it\'s own identifier by calling GetCurrentProcessId(), but that\'s only available in Win2K Pro and Server and above.


I don\'t think process identifiers existed in 9x or NT.
____________
"The ultimate test of a moral society is the kind of world that it leaves to its children." - Dietrich Bonhoeffer

Michael
Volunteer moderator
Project scientist
Send message
Joined: May 5 06
Posts: 79
Credit: 494
RAC: 0

The GetProcessId() function isn\'t available in Win2K. It was introduced in XP SP1 and Server 2003.

If it\'s essential to use process identifiers rather than handles the only ways I\'m aware of that you can get hold of it directly in Win2K are:

  • when a child process is created it\'s returned in the PROCESS_INFORMATION structure passed to CreateProcess().

  • a process can get it\'s own identifier by calling GetCurrentProcessId(), but that\'s only available in Win2K Pro and Server and above.


I don\'t think process identifiers existed in 9x or NT.



Thanks a lot for these very specific hints... will look into it asap..

____________
Michael

FalconFly
Avatar
Send message
Joined: Mar 7 06
Posts: 92
Credit: 5,517,713
RAC: 0

I got the same here, all those WorkUnits fail with Error Code 128 like this one.

(loose translation : there are no subordinate processes that have to be waited for)
____________
Scientific Network : 44800 MHz - 77824 MB - 1970 GB

Profile XJR-Maniac
Avatar
Send message
Joined: Jun 25 06
Posts: 7
Credit: 256,204
RAC: 0

Maybe it\'s a little bit shortsighted to optimize your apps for the latest OSes, only. I think, you will lose a lot of crunching power if you continue with that.
____________

Ageless
Avatar
Send message
Joined: Jun 29 06
Posts: 261
Credit: 149,220
RAC: 17

I doubt they did it on purpose. Even the developers here are only human and are allowed to make mistakes.

____________
Jord.

BOINC FAQ Service

Profile XJR-Maniac
Avatar
Send message
Joined: Jun 25 06
Posts: 7
Credit: 256,204
RAC: 0

OK, in dubio pro reo ;-)
____________

Michael
Volunteer moderator
Project scientist
Send message
Joined: May 5 06
Posts: 79
Credit: 494
RAC: 0

OK, in dubio pro reo ;-)

thanx for the benefit of the doubt.. And I can confirm am very human, especially when it comes to windows system programming.. am a biologist and not MSologist, nor a professional software engineer..
we have a new version, but I don\'t trust it yet, can\'t release it like that, we have to do more in-house testing.. meanwhile, if you experience problems with win2K, feel free to opt out of crunching the optimizer app by changing your profile settings.
regards
Michael
____________
Michael

Michael
Volunteer moderator
Project scientist
Send message
Joined: May 5 06
Posts: 79
Credit: 494
RAC: 0

ok, the new version 1.33 is out and should run on win2K as well, please confirm..

cheers
Michael

____________
Michael

Profile XJR-Maniac
Avatar
Send message
Joined: Jun 25 06
Posts: 7
Credit: 256,204
RAC: 0

Confirmed, both my W2k systems successfully crunched at least one optimizer WU. Most likely my NT4 box will succeed, too. If it gets one.

No offense meant! Well done!
____________

Profile XJR-Maniac
Avatar
Send message
Joined: Jun 25 06
Posts: 7
Credit: 256,204
RAC: 0

Sorry, but I have to revert my confirmation concerning WinNT4. Now my NT box got an optimizer WU and crashed with the following pop up message:

optimizer_1.32_windows_intelx86 - Entry point not found
The procedure entry point Open Thread could not be found in the dynamic library KERNEL32.dll


____________

Ageless
Avatar
Send message
Joined: Jun 29 06
Posts: 261
Credit: 149,220
RAC: 17

It won\'t work on any Windows 98/SE/ME versions then either.

According to this site:

OpenThread() returns a handle to a thread object from its thread identifier (TID). It\'s a convenient way of converting a TID to a thread handle. The Kernel32 function OpenThread() is only implemented on Win 2000 or higher and Win ME. On Windows NT, the undocumented NTDLL function NtOpenThread() can be used to emulate OpenThread()

In Win9x, Kernel32 OpenProcess() can also be used to open a thread: instead of passing it a PID (Process ID), a TID (Thread ID) is passed to it. Inside OpenProcess(), there\'s a check to verify if the passed Id corresponds to a PID and if not returns ERROR_INVALID_PARAMETER, therefore a method to bypass this check is necessary to be able to use OpenProcess() to open a thread object. There are two ways of doing this: skip the test inside OpenProcess() (ATM method by Enrico Del Fante), or change the thread object type to process (Each Kernel object -- process, thread, file, mutex, ... -- has a corresponding data structure that holds information about the object. These structures are undocumented, but you can find the description of some of these structures in [1]. The first field of each Kernel object struct is always the object type: K32OBJ_PROCESS, K32OBJ_THREAD, K32OBJ_FILE, K32OBJ_MUTEX, ...). After the initial checks, OpenProcess() just calls the Kernel32 internal function OpenHandle() that returns a handle to an object -- that\'s why we can use OpenProcess() to open both process/thread objects.


(they have code examples)

Or just set a minimum Windows version for the Optimizers and advertise that via the thread and the news. It\'s too bad BOINC can\'t recognize the individual Windows platforms.
____________
Jord.

BOINC FAQ Service

Thyme Lawn
Send message
Joined: Jun 20 06
Posts: 181
Credit: 1,234,062
RAC: 1,378

OpenThread() isn\'t available in NT.

As with processes, there are 2 values used to identify threads: the handle and the identifier. Both are returned by the call to CreateThread(). If the handle isn\'t available for some reason (e.g. it\'s not inheritable), OpenThread() has to be used to convert the thread identifier into the handle needed for operations such as thread suspend, resume and termination.
____________
"The ultimate test of a moral society is the kind of world that it leaves to its children." - Dietrich Bonhoeffer

Profile XJR-Maniac
Avatar
Send message
Joined: Jun 25 06
Posts: 7
Credit: 256,204
RAC: 0

Does the fact that there\'s no further reaction allow the conclusion, that optimizer will not run on WinNT 4.0 further on?

Any message planned to inform the public about that?

OK, according to BOINCstats there are only 51 machines left running WinNT but it would be nice to know before wasting more time.

Thanks.
____________

Profile mikey
Avatar
Send message
Joined: Mar 23 07
Posts: 4384
Credit: 5,361,800
RAC: 1,106

Does the fact that there\'s no further reaction allow the conclusion, that optimizer will not run on WinNT 4.0 further on?

Any message planned to inform the public about that?

OK, according to BOINCstats there are only 51 machines left running WinNT but it would be nice to know before wasting more time.

Thanks.


I think if I had a WinNT machine I would exclude it now from the Optimized units. There are plenty of other machines to pick up the slack and it just means I would be running other units instead. No sense crunching and getting no credits for it.
____________

Profile XJR-Maniac
Avatar
Send message
Joined: Jun 25 06
Posts: 7
Credit: 256,204
RAC: 0

Done!
____________

Post to thread

Message boards : Number crunching : OPT332


Return to malariacontrol.net main page


Copyright © 2013 africa@home