Bug 33093 - cvsup SNAP_16_1e breaks by SIGILL during lagde supfile update
Summary: cvsup SNAP_16_1e breaks by SIGILL during lagde supfile update
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: John Polstra
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-12-22 18:40 UTC by Dmitry Morozovsky
Modified: 2003-03-05 16:03 UTC (History)
0 users

See Also:


Attachments
GlobTree.m3 (5.96 KB, text/plain; charset=us-ascii)
2002-11-18 02:13 UTC, John Polstra
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Morozovsky 2001-12-22 18:40:00 UTC
During the cvsup process of KDE with the following collection list
(rather long, I see) cvsup dies with SIGILL (signal 4), possibly due to
some internal table overflow.

Fix: 

Unfortunately, no known.
How-To-Repeat: 
try to get KDE mirror with the following supfile:

# Supfile for KDE mirroring
*default host=cvsup.kde.org delete use-rel-suffix umask=002 compress
*default release=cvs tag=.
*default prefix=/pub/mirror/kde		# whatever
www prefix=/pub/wwwmirror/kde
qt-copy
kde-common
kde-i18n
kdeaddons
kdeadmin
kdeartwork
kdebase
kdebindings
kdegames
kdegraphics
kdelibs
kdemultimedia
kdenetwork
kdepim
kdesdk
kdetoys
kdeutils
kdevelop
kdoc
klyx
kmusic
koffice
Comment 1 Pete Fritchman freebsd_committer 2001-12-22 19:22:23 UTC
Responsible Changed
From-To: freebsd-ports->jdp

Over to maintainer
Comment 2 John Polstra 2002-11-18 02:13:26 UTC
With help from another KDE user I have finally found the cause of this
problem.  The CVSup server configuration files created by the KDE
project are very unusual, and they could cause a thread stack overflow
in the CVSup clients due to too much recursion.  I have replaced the
recursive algorithm which was causing the trouble with a non-recursive
algorithm.  Attached is the new code.  I would appreciate it if you
could test it for me and verify that it solves the problem.

To try this out, you will need to install the ezm3 port if you don't
already have it.  Then grab the cvsup-16.1f sources from

ftp://ftp.freebsd.org/pub/FreeBSD/development/CVSup/snapshots/cvsup-snap-16.1f.tar.gz

(Beware of line wrap caused by my mailer or your mailer.)

Extract the tar file and find the directory "client/src".  Replace the
file "GlobTree.m3" in that directory with the attached file.  Go back
to the top-level directory and build everything with "make".  Now in
"client/FreeBSD4" you should find a new "cvsup" program to test.
Please let me know if it solves the problem.

Thanks,
John
Comment 3 Dmitry Morozovsky 2002-11-18 10:39:10 UTC
On Sun, 17 Nov 2002, John Polstra wrote:

JP> Please let me know if it solves the problem.

Unfortunately it does not:

%~marck/ports/cvsup-snap-16.1f/client/FreeBSD4/cvsup -zgl /tmp/kde-big.Lock -L1 kde-big.cvsup
Connected to cvsup.kde.org
Falling back to protocol version 16.1
Updating collection www/cvs
Updating collection qt-copy/cvs
Updating collection kde-common/cvs
Updating collection kde-i18n/cvs
Updating collection kdeaddons/cvs
Updating collection kdeadmin/cvs
Updating collection kdeartwork/cvs
Updating collection kdebase/cvs
Updating collection kdebindings/cvs
Updating collection kdegames/cvs
Updating collection kdegraphics/cvs
Updating collection kdelibs/cvs
Updating collection kdemultimedia/cvs
Updating collection kdenetwork/cvs
Updating collection kdepim/cvs
Updating collection kdesdk/cvs
Updating collection kdetoys/cvs
Updating collection kdeutils/cvs
Bus error

(it is at the same place as the original cvsup-16.1f breaks)

I would be very glad to help track this problem down further. Any directions?

Sincerely,
D.Marck                                   [DM5020, DM268-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru ***
------------------------------------------------------------------------
Comment 4 John Polstra 2002-11-18 17:33:09 UTC
Dmitry Morozovsky wrote:
> On Sun, 17 Nov 2002, John Polstra wrote:
> 
> JP> Please let me know if it solves the problem.
> 
> Unfortunately it does not:
> 
> %~marck/ports/cvsup-snap-16.1f/client/FreeBSD4/cvsup -zgl /tmp/kde-big.Lock -L1
> kde-big.cvsup
> Connected to cvsup.kde.org
> Falling back to protocol version 16.1
> Updating collection www/cvs
> Updating collection qt-copy/cvs
> Updating collection kde-common/cvs
> Updating collection kde-i18n/cvs
> Updating collection kdeaddons/cvs
> Updating collection kdeadmin/cvs
> Updating collection kdeartwork/cvs
> Updating collection kdebase/cvs
> Updating collection kdebindings/cvs
> Updating collection kdegames/cvs
> Updating collection kdegraphics/cvs
> Updating collection kdelibs/cvs
> Updating collection kdemultimedia/cvs
> Updating collection kdenetwork/cvs
> Updating collection kdepim/cvs
> Updating collection kdesdk/cvs
> Updating collection kdetoys/cvs
> Updating collection kdeutils/cvs
> Bus error
> 
> (it is at the same place as the original cvsup-16.1f breaks)

Thanks for the quick reply!  I am really surprised that this fix
didn't solve the problem.

Could you please try running the program under gdb?  When it crashes,
use gdb's "where" command to get a stack trace.  (I recommend running
gdb under the "script" command to capture all the output.)  Please
send the stack trace to me.

Thanks,
John
Comment 5 John Polstra freebsd_committer 2003-03-05 16:02:52 UTC
State Changed
From-To: open->closed

Fixed in CVSup 16.1g.  I have updated the port accordingly.