XML "dialect" problems for 3rd party managers

Alles zum Projekt yoyo@home
Everything about the project yoyo@home
Nachricht
Autor
jjwhalen

XML "dialect" problems for 3rd party managers

#1 Ungelesener Beitrag von jjwhalen » 19.01.2010 23:30

I don't know if this has come up before in this forum, so I'll apologize in advance if it is repetitive.

I use (among other tools) Boinc.NET to manage my little (Windows) crunch farm. I noticed that for yoyo workunits in progress, Boinc.NET consistently lists the wrong application for the result type (e.g., ecm for muon, muon for crunch etc.).

I queried Mike O., the owner of Boinc.NET about it, and got the following:
As far as yoyo.. It is known to have problems in the XML. Namely they use &'s inside the XML blocks. This is NOT legal XML code and causes the parsing to break. (Boinc.NET) uses the (Microsoft) .NET (Framework) functions to do the parsing while Boinc Manager and BoincView use some custom written function calls to parse the XML. I opted for the 'linq to dataset' built in to .NET because its so damn fast. Speed is important as you know. All the XML from the clients has to be parsed and converted to tables before the master update timer fires.
This isn't a huge problem, since it doesn't actually hinder Boinc.NET's ability to manage remote BOINC clients. But it is annoying. And if Yoyo has a chance to either fix the bug (if it is one) or else convert to the "standard" XML code, it might avert a real problem somewhere else in the future. Yoyo@home could conceivably get locked out of a future upgrade to the BOINC client. This has happened before to other projects.

Best wishes.

Benutzeravatar
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 8128
Registriert: 17.12.2002 14:09
Wohnort: Berlin

Re: XML "dialect" problems for 3rd party managers

#2 Ungelesener Beitrag von yoyo » 20.01.2010 06:10

Don't know which xml is meant?
Do you have an example of these strange texts?
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

jjwhalen

Re: XML "dialect" problems for 3rd party managers

#3 Ungelesener Beitrag von jjwhalen » 20.01.2010 23:58

Hi Yoyo,

No I don't have direct examples myself. You may want to check out the numerous debugging switches included with the BOINC client, that can be activated via a "cc_config.xml" file and "Read config file" on the Advanced menu. I use a few of the simple ones myself.

This issue refers to the informational messages sent FROM the BOINC client TO the BOINC manager (or a third party manager like BoincView or Boinc.NET) which report things like "the Result is so much percent complete" and "the last checkpoint was at...," plus all that stuff that appears on the Messages tab of the manager. These messages partly originate with the project application, and they are formatted in XML. The message is the same whether the client & manager are on the same physical platform or not; they travel over a TCP/IP socket (port 31416 if I remember correctly). The command messages that are sent FROM the manager TO the client are Remote Procedure Calls, not XML.

I'm only guessing, but possibly something in your project executables is being misinterpreted by the BOINC client, causing "illegal" characters in the XML messages. (Mike Overbay of Boinc.NET mentions "&" (ampersand) in messages about Yoyo WUs, which are causing his (.NET's) XML parser to hiccup.) Possibly the BOINC wrapper itself is broken? I don't know enough about XML to know whether there is more than one implementation out there, in which case you might be using a different "dialect." It probably isn't a coincidence that Yoyo WU's actually come from a different environment (Distributed.net or wherever) and are being filtered through an extra layer of middleware, the BOINC wrapper, on their way to the user's host machine.

Best wishes,
J. Whalen

Benutzeravatar
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 8128
Registriert: 17.12.2002 14:09
Wohnort: Berlin

Re: XML "dialect" problems for 3rd party managers

#4 Ungelesener Beitrag von yoyo » 21.01.2010 06:41

I need to know the text, where the & appeared otherwise I can't do anything.
It isn't the wrapper. The wrapper doesn't send any message. All the messaging is done by boinc, boincmgr and the server.
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

jjwhalen

Re: XML "dialect" problems for 3rd party managers

#5 Ungelesener Beitrag von jjwhalen » 21.01.2010 08:31

And yet the problem does exist for Yoyo applications running on BOINC 6.x, and not for numerous other projects including those running multiple applications like Primegrid, Rosetta and Climate Prediction.

Impasse.

Best wishes.

Benutzeravatar
Uwe Sänger Herzke
Block-Bunkerer
Block-Bunkerer
Beiträge: 1326
Registriert: 31.05.2006 14:33
Wohnort: Bremen

Re: XML "dialect" problems for 3rd party managers

#6 Ungelesener Beitrag von Uwe Sänger Herzke » 21.01.2010 16:30

Perhaps Mike and yoyo should meet somewhere in a chat, either the official #boinc on freenode or the one from rechenkraft.net here. The intermediate doesn't seem to work so well ;) , perhaps direct contact will do :)
Grüße vom Sänger
Bild Bild Bild

Benutzeravatar
Stoffel
Taschenrechner
Taschenrechner
Beiträge: 8
Registriert: 31.08.2009 21:14
Wohnort: Wolfsburg

Re: XML "dialect" problems for 3rd party managers

#7 Ungelesener Beitrag von Stoffel » 21.01.2010 21:03

...the ecmjob_0.02_windows_x86_64.xml file in the project folder of yoyo contains a TAB (#x9) in each <task> section between </command_line> and <checkpoint_filename>

Some silly parsers will fail at this point.

In my understanding of http://www.w3.org/TR/REC-xml/#sec-well-formed, section 2.3, it should be allowed. But for an "easy going" you should delete this TAB in your template, and replace it with 8 spaces ;-)
-----
Gruss
Stoffel

Ananas
WU-Schieber
WU-Schieber
Beiträge: 1184
Registriert: 27.04.2008 18:37
Wohnort: Nordlichter Köln

Re: XML "dialect" problems for 3rd party managers

#8 Ungelesener Beitrag von Ananas » 25.01.2010 05:59

Tab (0x09) is a whitespace in XML and HTML, shouldn't have any syntactical meaning.

I dislike tabs in code though as some people tend to set their editor to tablengths different from 8, which makes sources quite unreadable with the normal settings.
vi BOINC/checkin_notes
:1,$s/bug/feature/g
:wq!

Erzaehlen sich Biologen eigentlich Klein-RNA-Witze?

Zurück zu „Number crunching“