Bug#602056: libsoap-lite-perl: Client dies with Not a HASH reference at /usr/share/perl5/SOAP/Lite.pm line 3755.
Hi, On Sun, May 12, 2013 at 06:45:18PM +0200, Xavier wrote: Hi all, according to https://rt.cpan.org/Public/Bug/Display.html?id=62667 discussion, this bug is rejected and the associated patch may break code using Moose and SOAP::Lite. Can I remove it ? I am using SOAP::Lite on lenny (without the patch) which acts as a client. The server is a .NET monster (which is maintained by a 3rd party). About a month ago my code using this service broke with the same message. (Because the server side did not send the message my code expected.) I added checks if( ref $something eg 'HASH' ) { ... } to the code to avoid the code path which would access hash elements. So I do not consider the referenced debian bugreport classification as grave right. Working it around on the client side is possible. (and maybe is the right thing to do) Regards, cstamas -- CSILLAG Tamas (cstamas) - http://cstamas.hu/ -- To UNSUBSCRIBE, email to debian-perl-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20130512182305.GT19172@rivendell -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#602056: libsoap-lite-perl: Client dies with Not a HASH reference at /usr/share/perl5/SOAP/Lite.pm line 3755.
Hi everyone, Attached diff fixes the issue for OP (as he confirmed on IM). Thanks -- Ashish SHUKLA “She dump(1)-ed me without caring to restore(1).” (abbe, 2005) --- /usr/share/perl5/vendor_perl/SOAP/Lite.pm 2010-06-03 21:03:26.0 +0530 +++ SOAP/Lite.pm2010-11-03 08:05:23.0 +0530 @@ -3747,13 +3747,13 @@ # fillup parameters UNIVERSAL::isa($_[$param] = 'SOAP::Data') ? $_[$param]-SOAP::Data::value($value) -: UNIVERSAL::isa($_[$param] = 'ARRAY') +: (ref($_[$param] eq 'ARRAY')) ? (@{$_[$param]} = @$value) -: UNIVERSAL::isa($_[$param] = 'HASH') +: (ref($_[$param]) eq 'HASH') ? (%{$_[$param]} = %$value) -: UNIVERSAL::isa($_[$param] = 'SCALAR') +: (ref($_[$param]) eq 'SCALAR') ? (${$_[$param]} = $$value) -: ($_[$param] = $value) +: ($_[$param] = $value); } } } pgpW9s1Rw9Ahc.pgp Description: PGP signature
Bug#602056: libsoap-lite-perl: Client dies with Not a HASH reference at /usr/share/perl5/SOAP/Lite.pm line 3755.
Package: libsoap-lite-perl Version: 0.712-1 Severity: grave Justification: renders package unusable Using the (slightly modified) examples at: http://guide.soaplite.com/ causes the client to die with: Not a HASH reference at /usr/share/perl5/SOAP/Lite.pm line 3755. Sample code (Server) #!perl -w use SOAP::Transport::HTTP; SOAP::Transport::HTTP::Daemon -new(LocalPort=,ReuseAddr=1) - dispatch_to('Temperatures') - handle; package Temperatures; sub f2c { my ($class, $f) = @_; return 5/9*($f-32); } sub c2f { my ($class, $c) = @_; return 32+$c*9/5; } sub new { my $self = shift; my $class = ref($self) || $self; bless {_temperature = shift} = $class; } sub as_fahrenheit { return shift-{_temperature}; } sub as_celsius { return 5/9*(shift-{_temperature}-32); } Sample code (Client) #!perl -w use SOAP::Lite; my $soap = SOAP::Lite - uri('http://localhost:/Temperatures') - proxy('http://localhost:/'); my $temperatures = $soap - call(new = 100) # accept Fahrenheits - result; print $soap - as_celsius($temperatures) - result; -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (990, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.32-5-686-bigmem (SMP w/2 CPU cores) Locale: LANG=en_IN.UTF-8, LC_CTYPE=en_IN.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libsoap-lite-perl depends on: ii libclass-inspector-perl 1.24-1 Perl module that provides informat ii libcompress-zlib-perl2.024-1 Transitional dummy package for Com ii libcrypt-ssleay-perl 0.57-2 Support for https protocol in LWP ii libfcgi-perl 0.71-1 helper module for FastCGI ii libio-compress-perl [libcomp 2.024-1 bundle of IO::Compress modules ii libio-socket-ssl-perl1.33-1 Perl module implementing object or ii libio-stringy-perl 2.110-4 Perl modules for IO from scalars a ii libmime-tools-perl 5.428-1 Perl5 modules for MIME-compliant m ii libossp-uuid-perl1.6.2-1 perl OSSP::UUID - OSSP uuid Perl B ii libtask-weaken-perl 1.03-1 Ensure that a platform has weaken ii liburi-perl 1.54-1 module to manipulate and access UR ii libwww-perl 5.836-1 Perl HTTP/WWW client/server librar ii libxml-parser-perl 2.36-1.1+b1 Perl module for parsing XML files ii perl [libio-compress-perl] 5.10.1-15 Larry Wall's Practical Extraction ii perl-modules [libversion-per 5.10.1-15 Core Perl modules libsoap-lite-perl recommends no packages. Versions of packages libsoap-lite-perl suggests: ii libapache2-mod-perl2 2.0.4-7Integration of perl with the Apach ii libmime-lite-perl 3.027-1module for convenient MIME message pn libnet-jabber-perlnone (no description available) -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org