User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:2.0b5) Gecko/20100907 Iceweasel/4.0b5
Build Identifier: * This is Bugzilla 3.6.2 on perl 5.8.8 * Running on Linux 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 00:17:26 CDT 2006
After bugzilla upgrade we have issues with bugzilla RPC
remote method calls. We use it in GRUCHA tool, but it also doesn't work with contrib/bz_webservice_demo.pl
Steps to Reproduce:
1. run ./bz_webservice_demo.pl
neutrinus@marvin:~/tmp/bugzilla-3.6.2/contrib$ ./bz_webservice_demo.pl --uri http://10.10.10.110/xmlrpc.cgi
Client Application failed during request deserialization:
no element found at line 1, column 0, byte -1 at /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/XML/Parser.pm line 187
in SOAP call near ./bz_webservice_demo.pl line 189.
neutrinus@marvin:~/tmp/bugzilla-3.6.2/contrib$ ./bz_webservice_demo.pl --uri http://10.10.10.129/xmlrpc.cgi
Connecting to a Bugzilla of version 3.2.5.
Bugzilla's timezone is +0200.
(10.10.10.129 its old bugzilla instance v3.2.5; 10.10.10.110 is new,upgraded instance v3.6.2)
* This is Bugzilla 3.6.2 on perl 5.8.8
* Running on Linux 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 00:17:26 CDT 2006
Checking perl modules...
Checking for CGI.pm (v3.21) ok: found v3.49
Checking for Digest-SHA (any) ok: found v5.48
Checking for TimeDate (v2.21) ok: found v2.22
Checking for DateTime (v0.28) ok: found v0.61
Checking for DateTime-TimeZone (v0.71) ok: found v1.21
Checking for DBI (v1.41) ok: found v1.604
Checking for Template-Toolkit (v2.22) ok: found v2.22
Checking for Email-Send (v2.00) ok: found v2.192
Checking for Email-MIME (v1.861) ok: found v1.861
Checking for Email-MIME-Encodings (v1.313) ok: found v1.313
Checking for Email-MIME-Modifier (v1.442) ok: found v1.442
Checking for URI (any) ok: found v1.30
Checking available perl DBD modules...
Checking for DBD-Pg (v1.45) not found
Checking for DBD-mysql (v4.00) ok: found v4.010
Checking for DBD-Oracle (v1.19) not found
The following Perl modules are optional:
Checking for GD (v1.20) ok: found v2.44
Checking for Chart (v2.1) ok: found v2.4.1
Checking for Template-GD (any) ok: found v1.56
Checking for GDTextUtil (any) ok: found v0.86
Checking for GDGraph (any) ok: found v1.44
Checking for XML-Twig (any) ok: found v3.13
Checking for MIME-tools (v5.406) ok: found v5.428
Checking for libwww-perl (any) ok: found v5.810
Checking for PatchReader (v0.9.4) ok: found v0.9.5
Checking for perl-ldap (any) ok: found v0.36
Checking for Authen-SASL (any) ok: found v2.15
Checking for RadiusPerl (any) ok: found v0.17
Checking for SOAP-Lite (v0.710.06) ok: found v0.712
Checking for JSON-RPC (any) ok: found v0.96
Checking for Test-Taint (any) ok: found v1.04
Checking for HTML-Parser (v3.40) ok: found v3.56
Checking for HTML-Scrubber (any) ok: found v0.08
Checking for Email-MIME-Attachment-Stripper (any) ok: found v1.314
Checking for Email-Reply (any) ok: found v1.202
Checking for TheSchwartz (any) ok: found v1.10
Checking for Daemon-Generic (any) ok: found v0.71
Checking for mod_perl (v1.999022) ok: found v2.000004
data stream sniffed using wireshark:
POST /xmlrpc.cgi HTTP/1.1
Connection: TE, close
/></methodCall>HTTP/1.1 200 OK
Date: Thu, 30 Sep 2010 08:51:24 GMT
Server: Apache/2.0.52 (CentOS)
failed during request deserialization:
no element found at line 1, column 0, byte -1 at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/XML/Parser.pm line 187
there are no errors in apache error.log
I'm pretty sure this is a bug in SOAP::Lite?
(In reply to comment #1)
> I'm pretty sure this is a bug in SOAP::Lite?
do you mean:
can somebody confirm which bug in SOAP::Lite is responsible for this issue? Its quite important for us to solve this..
Yes, it's https://rt.cpan.org/Public/Bug/Display.html?id=58538
I can see this happening on our Bugzilla Tinderbox server. Downgrading back to SOAP::Lite 0.711 seems to have fixed the problem for mod_cgi. But for mod_perl I had to also change Bugzilla::WebService::Server::XMLRPC to subclass XMLRPC::Transport::HTTP::Apache (mod_perl specific) instead of the ::CGI that's only usable for mod_cgi.
*** Bug 569385 has been marked as a duplicate of this bug. ***
We should do something about this one way or another. Originally the solution was going to be RPC::Any, but I suppose that's not making 4.2.
Is there any progress on this issue ?
I have a similar problem reported as:
Application failed during request deserialization: no element found at line 1, column 0, byte -1 at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/XML/Parser.pm line 153
when a Java client attempts to login trough 'xmlrpc.cgi'. It happened with bugzilla 3.6.4 and now with 4.0.1.
I've already tried downgrading SOAP::Lite to 0.711 and 0.710.
Are there any other workarounds I might try - the issue is a show stopper for the rest of my app delelopment.
When you downgrade you must make sure there isn't a later version in Bugzilla's lib/ directory. Also, if you are running under mod_perl, you must restart your web server.
No there wasn't any later versions in the bugzilla lib and yes I was restarting the web server.
I was capturing the HTTP traffic between the client and the server and I could see the SOAP::Lite version number in the HTTP headers - it changed every time I downgraded.
However, your comment made me look into the various perl mods I have on the machine.
I noticed that while the SOAP::Lite module used changed, the error was always coming from the same place:
. . .at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/XML/Parser.pm line 153
The Bugzilla 'checksetup.pl' output didn't mention XML::Parser module. So the one that ended up being used was an old installation, ver. 2.23, I had on the machine. Upgrading XML::Parser to 2.41 (after upgrading the expat and expat-devel RPMs) seems to have fixed the problem as I now can run the app with SOAP::Lite 0.712.
Created attachment 543783 [details] [diff] [review]
Use different XMLRPC base class in mod_perl vs. mod_cgi, V1
Here's the patch to use correct base class from XMLRPC when running under mod_perl. This seems to fix the problem and still work under mod_cgi.
Comment on attachment 543783 [details] [diff] [review]
Use different XMLRPC base class in mod_perl vs. mod_cgi, V1
Looks good and fixes the problem! :-)
Committing to: bzr+ssh://firstname.lastname@example.org/bugzilla/trunk/
Committed revision 7862.
Committing to: bzr+ssh://email@example.com/bugzilla/4.0/
Committed revision 7618.