Kristis, I'll start by saying I do not write Perl. The LOGFILE variable appears to be global in scope. When it was closed in one function that caused functions "higher up" the stack to fail to write their log messages. I hacked a solution by changing the name of the file handle to be unique in each function that has logging. A better solution would be to use a LOGFILE variable declared to be local in scope...
The return log message now appears. I've attached the logfile generated by the good and bad cases after patching up the LOGFILE names. Our subversion is run through Apache. I'm not sure I can bypass our Apache to commit a file to our repositories. I'd appreciate any pointers you might have. Regards, Mike -----Original Message----- From: Kristis Makris [mailto:[EMAIL PROTECTED] Sent: Thursday, January 17, 2008 2:57 PM To: Brown, Mike Cc: '[email protected]' Subject: RE: [scmbug-users] very large commit comments break scmbug + bugz illa One thing I noticed is that in both the small and large log message cases we don't get the following reported in the logfile: SCM.pm: prepare_activity - return I don't get it Mike. I sincerely don't understand where the problem is. It's as if the process suddenly stops. Have you been trying all this through Apache ? Is it possible to try committing with a large log message when Apache is not part of the equation ? On Thu, 2008-01-17 at 14:39 -0600, Brown, Mike wrote: > Kristis, > > The additional logging doesn't show anything in the failed case. I've > attached the SCM.pm file with the logging I added and the log file for the > good and base cases. Let me know what to try next. > > Regards, > Mike > > -----Original Message----- > From: Kristis Makris [mailto:[EMAIL PROTECTED] > Sent: Thursday, January 17, 2008 2:12 PM > To: Brown, Mike > Cc: '[email protected]' > Subject: RE: [scmbug-users] very large commit comments break scmbug + > bugz illa > > > The last place that remains to be debugged is > SCM.pm.in:prepare_final_log_message. It's seems heavy in terms of > processing, but still should return quickly with a small log file. > > And perhaps debugging statements in SCM.pm.in:prepare_activity. But > prepare_final_log_message seems like the root of the problem. Perhaps we > are not parsing with regexs something right and lead to an infinite loop > somehow ? > > On Thu, 2008-01-17 at 13:55 -0600, Brown, Mike wrote: > > Kristis, > > > > Attached is the logfile from a "good" small log message commit and a "bad" > > big log message commit using your patch to the Connection.pm file. > > > > Nothing was logged by Connection.pm in the failed case. > > > > Regards, > > Mike > > > > -----Original Message----- > > From: Kristis Makris [mailto:[EMAIL PROTECTED] > > Sent: Thursday, January 17, 2008 1:40 PM > > To: Brown, Mike > > Cc: '[email protected]' > > Subject: RE: [scmbug-users] very large commit comments break scmbug + > > bugz illa > > > > > > On Thu, 2008-01-17 at 12:58 -0600, Brown, Mike wrote: > > > Krisitis, > > > > > > I found that the logfile was not being written because of a permissions > > > conflict. I fixed the permissions issue and also put in the logging you > > > suggested with some additional log messages. I've attached 5 files for > > your > > > review: > > > > > > a) Subversion.pm with logging > > > b) Glue.pm with logging > > > c) logfile generated with a small commit message (this worked) > > > d) logfile generated with the large commit message (this failed) > > > e) text file containing large commit message > > > > I'm glad it was just a permissions issue. The debugging information you > > provided is great. > > > > I'm wondering if the freeze has something to do with the socket opened > > to the daemon. Can you add the following debugging patch too ? > > > > http://bugzilla.mkgnu.net/show_bug.cgi?id=1093#c12 > > > > We need to add officially add logging in the glue, really. > > > > >
<SMALL LOG MESSAGE FOR SUBVERSION> Glue.pm: Will read configuration file '/data/svn/test/hooks/etc/scmbug/glue.conf' Glue.pm: Read configuration file '/data/svn/test/hooks/etc/scmbug/glue.conf' Glue.pm: Will check the configuration Glue.pm: Checked the configuration. Will now prepare an activity. SCM.pm: prepare_activity - entry SCM.pm: prepare_activity - preparing for verification Subversion.pm: Will read the original log message Subversion.pm: Read the original log message Subversion.pm: ill begin examining what changed... Subversion.pm: Examining line 1 for file 'trunk/test.txt'... Subversion.pm: after last_revision Subversion.pm: last revision is N/A Subversion.pm: after affected files Subversion.pm: after product name Subversion.pm: check for tags/tagname/filename Subversion.pm: done with prepare_activity_verify_or_commit SCM.pm: prepare_final_log_message - entry SCM.pm: prepare_final_log_message - after bugs ids, required is '0' SCM.pm: prepare_final_log_message - activity is commit or verify SCM.pm: prepare_final_log_message - resolution template enabled SCM.pm: prepare_final_log_message - after resolution template SCM.pm: prepare_final_log_message - after search for bug ids SCM.pm: prepare_final_log_message - after search for log comment SCM.pm: prepare_final_log_message - after verify bug ids found SCM.pm: prepare_final_log_message - after verify log comment found SCM.pm: prepare_final_log_message - return after setting new modified log message for verify/commit SCM.pm: prepare_activity - before prepare_final_log_message SCM.pm: prepare_activity - return Glue.pm: Prepared an activity Glue.pm: Detected branch name Glue.pm: Checked policy adherence Connection.pm: process_activity begins. Connection.pm: will process an activity. Connection.pm: prepared a request. Connection.pm: submit_request begins. Connection.pm: will instantiate a socket. Connection.pm: will set the autoflush flag. Connection.pm: will read the banner from the daemon. Glue.pm: Processed the activity Glue.pm: Process sub completed Glue.pm: Will read configuration file '/data/svn/test/hooks/etc/scmbug/glue.conf' Glue.pm: Read configuration file '/data/svn/test/hooks/etc/scmbug/glue.conf' Glue.pm: Will check the configuration Glue.pm: Checked the configuration. Will now prepare an activity. SCM.pm: prepare_activity - entry SCM.pm: prepare_activity - preparing for a commit Subversion.pm: Will read the original log message Subversion.pm: Read the original log message Subversion.pm: ill begin examining what changed... Subversion.pm: Examining line 1 for file 'trunk/test.txt'... Subversion.pm: after last_revision Subversion.pm: Finding the previous version of this file... Subversion.pm: Found it Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: Examining the remaining history... Subversion.pm: after affected files Subversion.pm: after product name Subversion.pm: done with prepare_activity_verify_or_commit SCM.pm: prepare_final_log_message - entry SCM.pm: prepare_final_log_message - after bugs ids, required is '0' SCM.pm: prepare_final_log_message - activity is commit or verify SCM.pm: prepare_final_log_message - resolution template enabled SCM.pm: prepare_final_log_message - after resolution template SCM.pm: prepare_final_log_message - after search for bug ids SCM.pm: prepare_final_log_message - after search for log comment SCM.pm: prepare_final_log_message - after verify bug ids found SCM.pm: prepare_final_log_message - after verify log comment found SCM.pm: prepare_final_log_message - return after setting new modified log message for verify/commit SCM.pm: prepare_activity - before prepare_final_log_message SCM.pm: prepare_activity - return Glue.pm: Prepared an activity Glue.pm: Detected branch name Glue.pm: Checked policy adherence Connection.pm: process_activity begins. Connection.pm: will process an activity. Connection.pm: prepared a request. Connection.pm: submit_request begins. Connection.pm: will instantiate a socket. Connection.pm: will set the autoflush flag. Connection.pm: will read the banner from the daemon. Glue.pm: Processed the activity Glue.pm: Process sub completed <BIG LOG MESSAGE FOR SUBVERSION> Glue.pm: Will read configuration file '/data/svn/test/hooks/etc/scmbug/glue.conf' Glue.pm: Read configuration file '/data/svn/test/hooks/etc/scmbug/glue.conf' Glue.pm: Will check the configuration Glue.pm: Checked the configuration. Will now prepare an activity. SCM.pm: prepare_activity - entry SCM.pm: prepare_activity - preparing for verification Subversion.pm: Will read the original log message Subversion.pm: Read the original log message Subversion.pm: ill begin examining what changed... Subversion.pm: Examining line 1 for file 'trunk/test.txt'... Subversion.pm: after last_revision Subversion.pm: last revision is N/A Subversion.pm: after affected files Subversion.pm: after product name Subversion.pm: check for tags/tagname/filename Subversion.pm: done with prepare_activity_verify_or_commit
_______________________________________________ scmbug-users mailing list [email protected] http://lists.mkgnu.net/cgi-bin/mailman/listinfo/scmbug-users
