Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Jun 2013 09:02:30 GMT
From:      Alexey Markov <redrat@mail.ru>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/179325: net/svnup: Segmentation fault in the latest version
Message-ID:  <201306050902.r5592UaB081166@oldred.freebsd.org>
Resent-Message-ID: <201306050910.r559A2os091562@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         179325
>Category:       ports
>Synopsis:       net/svnup: Segmentation fault in the latest version
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 05 09:10:01 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Alexey Markov
>Release:        8.3-RELEASE-p7
>Organization:
JSC Complitex
>Environment:
FreeBSD host.redrat.ru 8.3-RELEASE-p7 FreeBSD 8.3-RELEASE-p7 #0: Thu Apr 4 14:15:05 MSK 2013 redrat@host.redrat.ru:/arc/obj/arc/src/sys/HOST amd64
>Description:
Latest version (0.73) of svnup get constant segmentation faults while trying update /usr/src. Full backtrace is attached to this PR.
>How-To-Repeat:
host:redrat/1# cc -Wall -g3 -ggdb -o svnup svnup.c -lmd -lssl
host:redrat/1# gdb ./svnup
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
(gdb) run release
Starting program: /arc/home/redrat/1/svnup release
# Revision: 251405

Program received signal SIGSEGV, Segmentation fault.
0x0000000000409c48 in main (argc=2, argv=0x7fffffffea80) at svnup.c:2301
2301                            if (file[f]->download == 0) {


host:redrat/1# cat /usr/local/etc/svnup.conf
# $FreeBSD$
#
# Default configuration options for svnup.conf

[defaults]
work_directory=/var/db/svnup
host=svn.freebsd.org
#host=svn0.us-west.freebsd.org
#host=svn0.us-east.freebsd.org
#protocol=https
protocol=svn
verbosity=1
trim_tree=0

[ports]
branch=ports/head
target=/arc/home/redrat/ports

[release]
branch=base/releng/8.4
target=/arc/home/redrat/src

#[stable]
#branch=base/stable/8

#[current]
#branch=base/head

>Fix:


Patch attached with submission follows:

Starting program: /arc/home/redrat/1/svnup release

Program received signal SIGSEGV, Segmentation fault.
0x0000000000409c48 in main (argc=2, argv=0x7fffffffea80) at svnup.c:2301
2301				if (file[f]->download == 0) {
#0  0x0000000000409c48 in main (argc=2, argv=0x7fffffffea80) at svnup.c:2301
	local = {st_dev = 88, st_ino = 16631, st_mode = 33188, st_nlink = 1, 
  st_uid = 0, st_gid = 0, st_rdev = 70968, st_atimespec = {
    tv_sec = 1370420006, tv_nsec = 0}, st_mtimespec = {tv_sec = 1369811430, 
    tv_nsec = 0}, st_ctimespec = {tv_sec = 1369811430, tv_nsec = 0}, 
  st_size = 2946828, st_blocks = 5824, st_blksize = 32768, st_flags = 0, 
  st_gen = 2037667076, st_lspare = 0, st_birthtimespec = {
    tv_sec = 1369811430, tv_nsec = 0}}
	data = (struct tree_node *) 0x801423520
	found = (struct tree_node *) 0x7fffffffea80
	file = (file_node **) 0x8048ce000
	connection = {socket_descriptor = 3, protocol = SVN, ssl = 0x0, 
  ctx = 0x0, address = 0x800e0d060 "svn.freebsd.org", port = 3690, 
  revision = 251405, family = 2, root = 0x800e04068 "base", 
  trunk = 0x800e1d040 "releng/8.4", branch = 0x800e0d080 "base/releng/8.4", 
  path_target = 0x800e0d0a0 "/arc/home/redrat/src", 
  response = 0x801800000 "( success ( ( ) 0: ) )", response_length = 210968, 
  response_blocks = 10240, response_groups = 0, 
  path_work = 0x800e1d050 "/var/db/svnup", 
  known_files = 0x801000000 "251099\r\n5f8d36baa24578ca77e76707bd8d0a6e", 
  known_files_old = 0x800e16140 "/var/db/svnup/release", 
  known_files_new = 0x800e16280 "/var/db/svnup/release.new", 
  known_files_size = 2946828, trim_tree = 0, verbosity = 1}
	buffer = (char **) 0x804204c00
	command = "\000 get-dir ( 0: ( 251405 ) false true ( kind size ) ) )\n\000ops depth log-revprops atomic-revprops partial-replay ) 37:svn://svn.freebsd.org/base/releng/8.4 10:svnup-0.73 ( ) )\n", '\0' <repeats 29387 times>, "x\201Ø\000\b\000\000\000N}±\000\b\000\000\000\000"...
	configuration_file = 0x800e0d040 "/usr/local/etc/svnup.conf"
	end = 0x801800280 ""
	md5 = 0x8012cf692 "675e91b9faeea40e4d5ffa60b24589ad"
	path = 0x8012cf6b3 "/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/manifest/test.jar-manifest"
	start = 0x801800017 "( success ( ( 32:05a6d30dc6f6807e240eed4837774249 ) 251405 ( ( 14:svn:entry:uuid 36:ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f ) ( 12:svn:keywords 10:FreeBSD=%H ) ( 13:svn:mergeinfo 291:/head/README:196879,"...
	temp_buffer = "( get-file ( 46:/gnu/usr.bin/groff/src/devices/grolbp/Makefile ( 251405 ) true false ) )\n\000\n\000)\n\000)\n\000\n\000)\n\000) )\n\000\n\000)\n\000)\n\000) )\n\000false ) )\n\000)\n\000\n\000)\n\000\000\000) )\n\000\n\000\000)\n\000)\n", '\0' <repeats 3940 times>
	value = 0x801800023 "( 32:05a6d30dc6f6807e240eed4837774249 ) 251405 ( ( 14:svn:entry:uuid 36:ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f ) ( 12:svn:keywords 10:FreeBSD=%H ) ( 13:svn:mergeinfo 291:/head/README:196879,198020,19848"...
	b = 0
	buffer_commands = (int *) 0x804205000
	buffer_full = 0
	buffers = 104
	c = 0
	command_count = 0
	display_last_revision = 0
	f = 43288
	f0 = 0
	fd = 3
	file_count = 43288
	file_max = 45056
	length = 0
	option = -1
	x = 8
The program is running.  Exit anyway? (y or n) 

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306050902.r5592UaB081166>