Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Feb 2020 19:46:47 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   head -r357419 vs. svnlite update -rdddddd on PowerMac with 2 sockets,  2 cores each: segmentation fault (not under -r356187)
Message-ID:  <B5EAEE6A-73B0-4BFD-B4D6-879835D195BB@yahoo.com>
References:  <B5EAEE6A-73B0-4BFD-B4D6-879835D195BB.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Given various issues that have been going on,
I offer the following as a possible evidence
for a problem still existing for powerpc64
as of head -r357419. Unfortunately, I do not
have the time or context to do much for
tracking it down. (I've already spent time
on other unexpected failures in recent times.)

The report does have a backtrace towards the
end of this note.

I have reverted to booting an emergency SSD that is
at head -r356187 in order to have the following work
instead of getting a segmentation fault on the old
PowerMac:

# svnlite update -r357473 /mnt/usr/src/
Updating '/mnt/usr/src':
At revision 357473.

(/mnt is a mount of the normal SSD that when booted
would be at head -r357419 and was intended for a
update to -r357473 .)

Under head -r357419 on the G5 PowerMac, such a
command ( then /usr/src/ ) gets a segmentation
fault instead. (svnlite cleanup then leaves
things corrupted as well.)

This started by an attempt to update /usr/src/
from -r357419 or -r357473 . The -r357419 had
been established via snvlite update under
-r356426 and that had no problems. But this
update under -r357419 just segmentation faulted.

After discovering that I could not update the
source tree natively, I copied over a -r357473
/usr/src/ from elsewhere and checked it with
diff -r and rsync. I then tried to see if it
would do like the above but it again
segmentation faulted instead. (No actual source
update needed, so a simpler case.)

I did various retries by re-establishing the
copy with no differences found. Each time
the result was the same.

So for the above working command, I again
established the copy before switching boot
media to the head -r356187 emergency SSD.

Booted from -r356187, svnlite update
-r357473 on the tree ( now /mnt/usr/src/ )
works fine.

As another experiment, before switching to -r356187 ,
I swapped to a head -r356426 kernel copy and got
the same sort of failing result. But that was mixing
a 1300075 kernel with a 1300076 world, if I remember
the numbers right. Still, since -r356426 for both
kernel and world together updated to -r357419 okay,
it may suggest that the more recent world contributes
to or causes the failure instead of it being (just?)
a kernel problem.


FYI: I recorded a backtrace from a core that
was produced in one of the example failures
( under head -r357419 ):

Program terminated with signal SIGSEGV, Segmentation fault.
. . .
(gdb) bt
#0  sqlite3VdbeRecordUnpack (pKeyInfo=3D0x810df84b8, nKey=3D0, pKey=3D0x0,=
 p=3D0x8116ea448) at /usr/src/contrib/sqlite3/sqlite3.c:81283
#1  0x00000008104eec6c in sqlite3VdbeExec (p=3D0x8116ea308) at =
/usr/src/contrib/sqlite3/sqlite3.c:89367
#2  0x00000008104b2f84 in sqlite3Step (p=3D0x8116ea308) at =
/usr/src/contrib/sqlite3/sqlite3.c:83195
#3  sqlite3_step (pStmt=3D0x8116ea308) at =
/usr/src/contrib/sqlite3/sqlite3.c:17724
#4  0x0000000010315e6c in svn_sqlite__step (got_row=3D0x3fffffffffffc484, =
stmt=3D0x811a19420) at =
/usr/src/contrib/subversion/subversion/libsvn_subr/sqlite.c:347
#5  0x0000000010315fa4 in svn_sqlite__insert (row_id=3D0x0, =
stmt=3D0x811a19420) at =
/usr/src/contrib/subversion/subversion/libsvn_subr/sqlite.c:371
#6  0x0000000010195bd4 in insert_base_node (pibb=3D0x3fffffffffffc630, =
wcroot=3D0x810dfd980, local_relpath=3D0x8119d2191 =
"sys/kern/sched_ule.c", scratch_pool=3D0x8119d2028)
    at /usr/src/contrib/subversion/subversion/libsvn_wc/wc_db.c:812
#7  0x0000000010196688 in svn_wc__db_base_add_file (db=3D<optimized =
out>, local_abspath=3D0x8119d2188 "/usr/src/sys/kern/sched_ule.c", =
wri_abspath=3D<optimized out>,=20
    repos_relpath=3D0x8119d2228 "head/sys/kern/sched_ule.c", =
repos_root_url=3D0x8116b64f8 "svn://svn0.us-west.freebsd.org/base", =
repos_uuid=3D0x8116b6520 "ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f",=20
    revision=3D357473, props=3D<optimized out>, changed_rev=3D<optimized =
out>, changed_date=3D<optimized out>, changed_author=3D<optimized out>, =
checksum=3D<optimized out>, dav_cache=3D<optimized out>,=20
    delete_working=3D<optimized out>, update_actual_props=3D<optimized =
out>, new_actual_props=3D<optimized out>, new_iprops=3D<optimized out>, =
keep_recorded_info=3D<optimized out>,=20
    insert_base_deleted=3D<optimized out>, conflict=3D<optimized out>, =
work_items=3D<optimized out>, scratch_pool=3D<optimized out>) at =
/usr/src/contrib/subversion/subversion/libsvn_wc/wc_db.c:1831
#8  0x00000000101ceaf0 in close_file (file_baton=3D0x8119d20a0, =
expected_md5_digest=3D<optimized out>, pool=3D<optimized out>) at =
/usr/src/contrib/subversion/subversion/libsvn_wc/update_editor.c:4550
#9  0x00000000102eafe8 in close_file (file_baton=3D0x811a0b0e0, =
text_checksum=3D0x8119ec0e0 "6616ae311ef1f9fb859221cbbe98b2bd", =
pool=3D0x8119ec028)
    at /usr/src/contrib/subversion/subversion/libsvn_delta/cancel.c:254
#10 0x00000000102194f4 in ra_svn_handle_close_file (conn=3D<optimized =
out>, pool=3D0x8119ec028, params=3D<optimized out>, =
ds=3D0x3fffffffffffcb40)
    at =
/usr/src/contrib/subversion/subversion/libsvn_ra_svn/editorp.c:861
#11 0x00000000102184d0 in svn_ra_svn_drive_editor2 (conn=3D0x811755000, =
pool=3D0x8116b4868, editor=3D0x8116b6548, edit_baton=3D<optimized out>, =
aborted=3D0x0, for_replay=3D<optimized out>)
    at =
/usr/src/contrib/subversion/subversion/libsvn_ra_svn/editorp.c:1114
#12 0x00000000102153f0 in ra_svn_finish_report (baton=3D0x8116b66a8, =
pool=3D<optimized out>) at =
/usr/src/contrib/subversion/subversion/libsvn_ra_svn/client.c:302
#13 0x00000000101e297c in svn_wc_crawl_revisions5 (wc_ctx=3D0x810dc14f0, =
local_abspath=3D<optimized out>, reporter=3D0x103d00e8 =
<ra_svn_reporter>, report_baton=3D0x8116b66a8, restore_files=3D<optimized =
out>,=20
    depth=3D<optimized out>, honor_depth_exclude=3D<optimized out>, =
depth_compatibility_trick=3D<optimized out>, use_commit_times=3D<optimized=
 out>, cancel_func=3D<optimized out>,=20
    cancel_baton=3D<optimized out>, notify_func=3D<optimized out>, =
notify_baton=3D<optimized out>, scratch_pool=3D<optimized out>) at =
/usr/src/contrib/subversion/subversion/libsvn_wc/adm_crawler.c:691
#14 0x00000000101741c8 in update_internal =
(result_rev=3D0x3fffffffffffd3c8, timestamp_sleep=3D0x3fffffffffffd3d4, =
conflicted_paths=3D0x0, ra_session_p=3D<optimized out>,=20
    local_abspath=3D0x8116b4960 "/usr/src", anchor_abspath=3D<optimized =
out>, revision=3D<optimized out>, depth=3Dsvn_depth_empty, =
depth_is_sticky=3D<optimized out>, ignore_externals=3D<optimized out>,=20=

    allow_unver_obstructions=3D<optimized out>, =
adds_as_modification=3D<optimized out>, notify_summary=3D<optimized =
out>, ctx=3D<optimized out>, result_pool=3D<optimized out>, =
scratch_pool=3D<optimized out>)
    at /usr/src/contrib/subversion/subversion/libsvn_client/update.c:501
#15 0x0000000010173708 in svn_client__update_internal =
(result_rev=3D0x3fffffffffffd3c8, timestamp_sleep=3D0x3fffffffffffd3d4, =
local_abspath=3D<optimized out>, revision=3D<optimized out>,=20
    depth=3Dsvn_depth_empty, depth_is_sticky=3D-11320, =
ignore_externals=3D<optimized out>, allow_unver_obstructions=3D<optimized =
out>, adds_as_modification=3D<optimized out>, make_parents=3D<optimized =
out>,=20
    innerupdate=3D<optimized out>, ra_session=3D0x8116a2240, =
ctx=3D<optimized out>, pool=3D<optimized out>) at =
/usr/src/contrib/subversion/subversion/libsvn_client/update.c:648
#16 0x0000000010174518 in svn_client_update4 =
(result_revs=3D0x3fffffffffffd4f0, paths=3D0x810dfd140, =
revision=3D<optimized out>, depth=3D<optimized out>, =
depth_is_sticky=3D<optimized out>,=20
    ignore_externals=3D<optimized out>, =
allow_unver_obstructions=3D<optimized out>, =
adds_as_modification=3D<optimized out>, make_parents=3D<optimized out>, =
ctx=3D<optimized out>, pool=3D<optimized out>)
    at /usr/src/contrib/subversion/subversion/libsvn_client/update.c:722
#17 0x000000001011db9c in svn_cl__update (os=3D<optimized out>, =
baton=3D<optimized out>, scratch_pool=3D0x810dc0028) at =
/usr/src/contrib/subversion/subversion/svn/update-cmd.c:169
#18 0x000000001011d118 in sub_main (argc=3D<optimized out>, =
argv=3D<optimized out>, pool=3D0x810dc0028, exit_code=3D<optimized out>) =
at /usr/src/contrib/subversion/subversion/svn/svn.c:3247
#19 main (argc=3D<optimized out>, argv=3D<optimized out>) at =
/usr/src/contrib/subversion/subversion/svn/svn.c:3332

I did not look at the machine code level at all.
Nor am I familiar with svnlite internals: blind
copy.

I originally built world and kernel non-debug but
with debug information. That can contribute to
interpreting the backtrace.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B5EAEE6A-73B0-4BFD-B4D6-879835D195BB>