Hi Markus, First, thanks a lot for providing such a detailed description of the problem. I've just noticed something I had missed before. Let's see if we can finally get this fixed
On Fri, 2010-07-16 at 14:37 +0200, [email protected] wrote: > [after - with require Bugzilla]: > 2010/07/16 13:47:09 Scmbug WARN> > Daemon.pm:81:Scmbug::Daemon::Daemon::read_configuration - Read > configuration file 'C:/Program Files/Scmbug/etc/scmbug/daemon.conf' > 2010/07/16 13:47:10 Scmbug ERROR> > Common.pm:334:Scmbug::Common::package_exists - Can't locate object method > "FILENO" via package "Scmbug::Daemon::Trapper" at C:/Perl/lib/CGI.pm line > 822. object method "FILENO". I missed this before. I wonder if the Trapper object supplied to log4perl also requires a definition of FILENO. I'm attaching a patch for supplying such a method, although it practically does nothing. If this patch does not work, perhaps you could also try to not tie STDERR to log4perl, using another patch attached. > Seems like Bugzilla.pm tries to use Bugzilla::CGI that in turn tries to use > Perl's CGI.pm that in turn dies in this method: > > 820># put a filehandle into binary mode (DOS) > 821>sub binmode { > 822> return unless defined($_[1]) && defined fileno($_[1]); > 823> CORE::binmode($_[1]); > 824>} This is a very good observation. I had never dug into the CGI source before. The call to fileno() is probably what requires a FILENO method from the trapper to be available. Please try the patches and report if it works.
? trapper_FILENO.patch
Index: Daemon/Trapper.pm.in
===================================================================
RCS file: /projects/scmbug/cvsroot/system/src/lib/product/Daemon/Trapper.pm.in,v
retrieving revision 1.2
diff -u -r1.2 Trapper.pm.in
--- Daemon/Trapper.pm.in 3 Jun 2008 19:44:11 -0000 1.2
+++ Daemon/Trapper.pm.in 16 Jul 2010 16:33:56 -0000
@@ -37,4 +37,10 @@
+sub FILENO {
+ return undef;
+}
+
+
+
1;
Index: Daemon.pm.in
===================================================================
RCS file: /projects/scmbug/cvsroot/system/src/lib/product/Daemon/Daemon.pm.in,v
retrieving revision 1.99
diff -u -r1.99 Daemon.pm.in
--- Daemon.pm.in 7 Mar 2010 23:45:59 -0000 1.99
+++ Daemon.pm.in 16 Jul 2010 16:38:38 -0000
@@ -340,7 +340,7 @@
@DEVEL_PRODUCT_NAME@::Common::set_logger( $logger );
# Trap all messages sent to STDERR and log them.
- tie *STDERR, "@DEVEL_PRODUCT_NAME@::Daemon::Trapper";
+ #tie *STDERR, "@DEVEL_PRODUCT_NAME@::Daemon::Trapper";
}
signature.asc
Description: This is a digitally signed message part
_______________________________________________ scmbug-users mailing list [email protected] http://lists.mkgnu.net/cgi-bin/mailman/listinfo/scmbug-users
