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

Reply via email to