[Paraview-developers] protobuf problem

Biddiscombe, John A. biddisco at cscs.ch
Tue Jul 12 09:49:14 EDT 2011


Sebastien

You got us looking in the right place with the comment
>> except if you use some custom network communication

Our communication shouldn't overlap with paraview's own - but a bad thing happened when I merged the pv-3.11 line with our code. 
I lost an
      MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &provided);
where there is an 
	MPI_Init (&argc, &argv);

in the pvserver startup. This meant that our mpi internal messaging was indeed colliding with paraview's and hence the problems. Once that was back all is well again.

thanks - and sorry for time wasting.

JB


-----Original Message-----
From: Sebastien Jourdain [mailto:sebastien.jourdain at kitware.com] 
Sent: 11 July 2011 16:03
To: Biddiscombe, John A.
Cc: paraview-developers at paraview.org
Subject: Re: [Paraview-developers] protobuf problem

Hi John,

Protobuf messages serialized themselves as binary "string" and parse
back those string to generate their data structure.
It seem's unlikely that protobuf is not able to encapsulate any type
of string, specially something as simple as a XML proxy definition
which should not contains any weird char such as \0 or so.
In fact we are doing somehow the same thing as you do except we do it
the other way around. Now the server send to the client its proxy
definition so no definition mismatching can occurs. And during that
time the whole XML proxy definition get encapsulate inside protobuf
message with no issue at all.

Right now, I can't think of anything that will solve right away your
issue but as a first step you can try to run your server with no-mpi
and with the --cslog=server.log argument. Moreover add that same
argument to the client as well (--cslog=client.log). Maybe, we will be
able to get more information on what went wrong.

Seb

On Mon, Jul 11, 2011 at 9:25 AM, Biddiscombe, John A. <biddisco at cscs.ch> wrote:
> Sebastien
>
> For our computation steering setup, we parse an input XML file, and use this to generate a servermanager XML file which needs to be registered with the proxyManager, the client does all the parsing and can register the XML fine, but since the upgrade to the newer PV using protobuf, when we send the servermanager XML to the server tasks, one always dies.
> What we have is a vtkDSMManager class on the server(s) and it has a
>  void SetHelperProxyXMLString(const char *xmlstring);
>  vtkGetStringMacro(HelperProxyXMLString);
> and the string passed in is a complete ServerManager compliant XML - just like you'd create by hand usually (filters.xml etc), but we are generating the strings and passing them across.
>
> It seems to be here that stuff dies. I may be wrong, but I wonderered if the protobuf was doing some parsing of the strings and getting confused by keywords we've used ...
>
> The message is passed using the standard proxy cline tserver mechanism
>    pqSMAdaptor::setElementProperty(
>      this->Internals->DSMProxy->GetProperty("HelperProxyXMLString"), HelperProxyXML.c_str());
>    this->Internals->DSMProxy->UpdateProperty("HelperProxyXMLString");
>
> ??
>
> thanks
>
> JB
>
> -----Original Message-----
> From: Sebastien Jourdain [mailto:sebastien.jourdain at kitware.com]
> Sent: 11 July 2011 14:57
> To: Biddiscombe, John A.
> Cc: paraview-developers at paraview.org
> Subject: Re: [Paraview-developers] protobuf problem
>
> Hi John,
>
> I don't think that an embeded XML content could interfere with the
> protobuf message except if you use some custom network communication.
> Could you be more precise when you say: "My client is sending an XML
> file to the server"
> What I mean by that, is how did you try to send that XML/String to the
> server ? Using an invoke, InformationHelper, something else ?
>
> Thanks,
>
> Seb
>
> On Mon, Jul 11, 2011 at 5:00 AM, Biddiscombe, John A. <biddisco at cscs.ch> wrote:
>> I'm not 100% certain about the following error/question, but since I upgraded to pv-3.11 I have a very peculiar error
>>
>> vtkmsg = 0x00000000093762d0 "ERROR: In ..\..\..\..\Code\pv\ParaViewCore\ServerImplementation\vtkPVSessionCore.cxx, line 460
>> vtkPVSessionCore (0000000002FE7930): Failed to parse protobuf message.
>>
>> the catch is that my client is sending an XML file to the server as a string. I suspect that the XML embedded in the message is somehow interfering with the protobuf stuff.
>>
>> Is this possible? Can I wrap my XML in something to make it go away?
>>
>> thanks
>>
>> JB
>>
>>
>> --
>> John Biddiscombe,                            email:biddisco @ cscs.ch
>> http://www.cscs.ch/
>> CSCS, Swiss National Supercomputing Centre  | Tel:  +41 (91) 610.82.07
>> Via Cantonale, 6928 Manno, Switzerland      | Fax:  +41 (91) 610.82.82
>>
>>
>> _______________________________________________
>> Paraview-developers mailing list
>> Paraview-developers at paraview.org
>> http://public.kitware.com/mailman/listinfo/paraview-developers
>>
>


More information about the Paraview-developers mailing list