Hello community, here is the log from the commit of package moarvm for openSUSE:Factory checked in at 2020-01-29 13:18:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/moarvm (Old) and /work/SRC/openSUSE:Factory/.moarvm.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "moarvm" Wed Jan 29 13:18:22 2020 rev:24 rq:768040 version:2020.01.1 Changes: -------- --- /work/SRC/openSUSE:Factory/moarvm/moarvm.changes 2020-01-07 23:52:48.908014544 +0100 +++ /work/SRC/openSUSE:Factory/.moarvm.new.26092/moarvm.changes 2020-01-29 13:18:47.646182523 +0100 @@ -1,0 +2,11 @@ +Thu Jan 23 07:41:02 CET 2020 - n...@detonation.org + +- update to version 2020.01.1 + ++ [105d09d62] Fix NativeCall libraries losing state during repossession ++ [7b8ed6308,a3ec7f315,921c8de84,9d053b8e9,8ac8afcc2,611532317,0995f19b9,fce208cb1,72941ee22, + 9166ea591,61ac671ea] Fix several more compiler warnings + +- Remove moarvm-fix-segfaults-in-openssl.diff as the issue has been fixed upstream + +------------------------------------------------------------------- Old: ---- MoarVM-2020.01.tar.gz moarvm-fix-segfaults-in-openssl.diff New: ---- MoarVM-2020.01.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ moarvm.spec ++++++ --- /var/tmp/diff_new_pack.9XHnEt/_old 2020-01-29 13:18:48.822183124 +0100 +++ /var/tmp/diff_new_pack.9XHnEt/_new 2020-01-29 13:18:48.826183126 +0100 @@ -16,7 +16,7 @@ # -%global mvrel 2020.01 +%global mvrel 2020.01.1 Name: moarvm Version: %mvrel Release: 2.1 @@ -27,7 +27,6 @@ Source: http://moarvm.org/releases/MoarVM-%{mvrel}.tar.gz # PATCH-FIX-OPENSUSE boo#1100677 Patch0: reproducible.patch -Patch1: moarvm-fix-segfaults-in-openssl.diff BuildRequires: perl(ExtUtils::Command) %description @@ -47,7 +46,6 @@ %prep %setup -q -n MoarVM-%{mvrel} %patch0 -p1 -%patch1 -p1 %build perl Configure.pl --prefix=%{_usr} --libdir=%{_libdir} --debug --optimize=3 ++++++ MoarVM-2020.01.tar.gz -> MoarVM-2020.01.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/MANIFEST new/MoarVM-2020.01.1/MANIFEST --- old/MoarVM-2020.01/MANIFEST 2020-01-04 20:56:00.000000000 +0100 +++ new/MoarVM-2020.01.1/MANIFEST 2020-01-23 00:39:28.000000000 +0100 @@ -485,6 +485,7 @@ tools/moarvm.org_releases.pl tools/parse_coverage_report.p6 tools/parse_jitgraph.p6 +tools/release tools/release.sh tools/repr_size_table.c tools/sort-expr-templates-by-oplist-order.p6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/VERSION new/MoarVM-2020.01.1/VERSION --- old/MoarVM-2020.01/VERSION 2020-01-04 18:04:23.000000000 +0100 +++ new/MoarVM-2020.01.1/VERSION 2020-01-22 21:59:57.000000000 +0100 @@ -1 +1 @@ -2020.01 +2020.01.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/docs/ChangeLog new/MoarVM-2020.01.1/docs/ChangeLog --- old/MoarVM-2020.01/docs/ChangeLog 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/docs/ChangeLog 2020-01-22 21:59:57.000000000 +0100 @@ -1,3 +1,9 @@ +New in 2020.01.1 + ++ [105d09d62] Fix NativeCall libraries losing state during repossession ++ [7b8ed6308,a3ec7f315,921c8de84,9d053b8e9,8ac8afcc2,611532317,0995f19b9,fce208cb1,72941ee22, + 9166ea591,61ac671ea] Fix several more compiler warnings + New in 2020.01 + [d7b6855d3,7a93b2897,fc41473c0,3806735a4,ae66545c7,34537cfd0,4bf923dbd,596a0b287] Fix diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/6model/reprs/NativeCall.c new/MoarVM-2020.01.1/src/6model/reprs/NativeCall.c --- old/MoarVM-2020.01/src/6model/reprs/NativeCall.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/6model/reprs/NativeCall.c 2020-01-22 21:59:57.000000000 +0100 @@ -143,8 +143,11 @@ MVMNativeCallBody *body = (MVMNativeCallBody *)data; if (body->lib_name) MVM_free(body->lib_name); +/* FIXME don't free the library unconditionally, as the handle will be shared among NativeCall sites + * Also if we're called by repossession, we would use any initialized state of the library if (body->lib_handle) MVM_nativecall_free_lib(body->lib_handle); +*/ if (body->arg_types) MVM_free(body->arg_types); if (body->arg_info) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/6model/reprs/P6opaque.c new/MoarVM-2020.01.1/src/6model/reprs/P6opaque.c --- old/MoarVM-2020.01/src/6model/reprs/P6opaque.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/6model/reprs/P6opaque.c 2020-01-22 21:59:57.000000000 +0100 @@ -1959,7 +1959,7 @@ MVMP6opaqueNameMap *cur_map_entry = name_to_index_mapping; while (cur_map_entry->class_key != NULL) { - MVMint16 i; + MVMuint32 i; MVMint64 slot; if (cur_map_entry->num_attrs > 0) { fprintf(stderr, "#`(from %s) ", MVM_6model_get_stable_debug_name(tc, cur_map_entry->class_key->st)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/6model/sc.c new/MoarVM-2020.01.1/src/6model/sc.c --- old/MoarVM-2020.01/src/6model/sc.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/6model/sc.c 2020-01-22 21:59:57.000000000 +0100 @@ -399,7 +399,7 @@ /* SC repossession barrier. */ void MVM_SC_WB_OBJ(MVMThreadContext *tc, MVMObject *obj) { assert(!(obj->header.flags & MVM_CF_FORWARDER_VALID)); - assert(MVM_sc_get_idx_of_sc(&obj->header) != ~0); + assert(MVM_sc_get_idx_of_sc(&obj->header) != (MVMuint32)~0); if (MVM_sc_get_idx_of_sc(&obj->header) > 0 && !(obj->st->mode_flags & MVM_NEVER_REPOSSESS_TYPE)) MVM_sc_wb_hit_obj(tc, obj); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/6model/serialization.c new/MoarVM-2020.01.1/src/6model/serialization.c --- old/MoarVM-2020.01/src/6model/serialization.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/6model/serialization.c 2020-01-22 21:59:57.000000000 +0100 @@ -391,7 +391,7 @@ /* All the other high bits should be the same as the top bit of the nybble we keep. Or we have a bug. */ assert((nybble >> 3) == 0 - || (nybble >> 3) == ~(MVMuint64)0); + || (nybble >> 3) == ~(MVMint64)0); buffer[offset++] = (rest << 4) | (nybble & 0xF); #ifdef MVM_BIGENDIAN memcpy(buffer + offset, (char *)&value + 8 - rest, rest); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/core/bytecodedump.c new/MoarVM-2020.01.1/src/core/bytecodedump.c --- old/MoarVM-2020.01/src/core/bytecodedump.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/core/bytecodedump.c 2020-01-22 21:59:57.000000000 +0100 @@ -552,7 +552,7 @@ if (effective_bytecode == sf->body.bytecode) { MVM_dump_bytecode_of(tc, frame, NULL); } else { - MVMint32 spesh_cand_idx; + MVMuint32 spesh_cand_idx; MVMStaticFrameSpesh *spesh = sf->body.spesh; for (spesh_cand_idx = 0; spesh_cand_idx < spesh->body.num_spesh_candidates; spesh_cand_idx++) { MVMSpeshCandidate *cand = spesh->body.spesh_candidates[spesh_cand_idx]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/core/interp.c new/MoarVM-2020.01.1/src/core/interp.c --- old/MoarVM-2020.01/src/core/interp.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/core/interp.c 2020-01-22 21:59:57.000000000 +0100 @@ -170,8 +170,11 @@ * exception thrown from C code. */ setjmp(tc->interp_jump); +#if !MVM_CGOTO /* Enter runloop. */ - runloop: { + runloop: +#endif + { MVMuint16 op; #if MVM_TRACING diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/gc/orchestrate.h new/MoarVM-2020.01.1/src/gc/orchestrate.h --- old/MoarVM-2020.01/src/gc/orchestrate.h 2018-11-07 08:28:33.000000000 +0100 +++ new/MoarVM-2020.01.1/src/gc/orchestrate.h 2020-01-22 21:59:57.000000000 +0100 @@ -54,7 +54,7 @@ # define GCDEBUG_LOG(tc, flags, msg, ...) \ if (MVM_GC_DEBUG_ENABLED(flags)) \ printf((msg), (tc)->thread_id, \ - MVM_load(&(tc)->instance->gc_seq_number), __VA_ARGS__) + (int)MVM_load(&(tc)->instance->gc_seq_number), __VA_ARGS__) #else # define GCDEBUG_LOG(tc, flags, msg, ...) \ if (MVM_GC_DEBUG_ENABLED(flags)) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/io/procops.c new/MoarVM-2020.01.1/src/io/procops.c --- old/MoarVM-2020.01/src/io/procops.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/io/procops.c 2020-01-22 21:59:57.000000000 +0100 @@ -758,7 +758,7 @@ MVMObject *error_cb; MVMString *msg_str; - snprintf(error_str, 127, "Failed to spawn process %s: %s (error code %ld)", + snprintf(error_str, 127, "Failed to spawn process %s: %s (error code %"PRId64")", si->prog, uv_strerror(spawn_result), spawn_result); msg_str = MVM_string_ascii_decode_nt(tc, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/jit/linear_scan.c new/MoarVM-2020.01.1/src/jit/linear_scan.c --- old/MoarVM-2020.01/src/jit/linear_scan.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/jit/linear_scan.c 2020-01-22 21:59:57.000000000 +0100 @@ -959,11 +959,6 @@ } } - /* with call_bitmap and arg_bitmap given, we can determine the spare - * register used for allocation; NB this may only be necessary in some - * cases */ - assert(spare_register >= 0); - for (i = 0; i < stack_transfer_top; i++) { MVMint8 reg_num = stack_transfer[i].reg_num; MVMint8 stk_pos = stack_transfer[i].stack_pos; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/platform/memmem32.c new/MoarVM-2020.01.1/src/platform/memmem32.c --- old/MoarVM-2020.01/src/platform/memmem32.c 2019-05-16 20:28:05.000000000 +0200 +++ new/MoarVM-2020.01.1/src/platform/memmem32.c 2020-01-22 21:59:57.000000000 +0100 @@ -149,7 +149,7 @@ /* Search loop */ for (;;) { /* If remainder of haystack is shorter than needle, done */ - if (z-h < l) { + if ((size_t)(z-h) < l) { return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/profiler/telemeh.c new/MoarVM-2020.01.1/src/profiler/telemeh.c --- old/MoarVM-2020.01/src/profiler/telemeh.c 2019-05-24 19:40:01.000000000 +0200 +++ new/MoarVM-2020.01.1/src/profiler/telemeh.c 2020-01-22 21:59:57.000000000 +0100 @@ -282,7 +282,7 @@ lastSerializedIndex = serializationEnd; } -void *backgroundSerialization(void *outfile) +void backgroundSerialization(void *outfile) { while(continueBackgroundSerialization) { MVM_sleep(500); @@ -290,8 +290,6 @@ } fclose((FILE *)outfile); - - return NULL; } MVM_PUBLIC void MVM_telemetry_init(FILE *outfile) @@ -314,7 +312,7 @@ beginningEpoch = epochRecord->u.epoch.time; - threadCreateError = uv_thread_create(&backgroundSerializationThread, (uv_thread_cb)backgroundSerialization, (void *)outfile); + threadCreateError = uv_thread_create((uv_thread_t *)&backgroundSerializationThread, backgroundSerialization, (void *)outfile); if (threadCreateError != 0) { telemetry_active = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/strings/gb18030.c new/MoarVM-2020.01.1/src/strings/gb18030.c --- old/MoarVM-2020.01/src/strings/gb18030.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/strings/gb18030.c 2020-01-22 21:59:57.000000000 +0100 @@ -155,7 +155,7 @@ MVMuint8 *bytes = (MVMuint8 *)cur_bytes->bytes; while (pos < cur_bytes->length) { - MVMGrapheme32 graph; + MVMGrapheme32 graph = 0; MVMint32 codepoint = (MVMint32) bytes[pos++]; if (is_len4) { @@ -163,8 +163,8 @@ len4_cnt++; len4_byte3 = codepoint; continue; - } - if (len4_cnt == 3) { + } else { + /* len4_cnt == 3 */ len4_byte4 = codepoint; if (gb18030_valid_check_len4(len4_byte1, len4_byte2, len4_byte3, len4_byte4)) { graph = gb18030_index_to_cp_len4(len4_byte1, len4_byte2, len4_byte3, len4_byte4); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/src/strings/utf8.c new/MoarVM-2020.01.1/src/strings/utf8.c --- old/MoarVM-2020.01/src/strings/utf8.c 2020-01-04 18:03:08.000000000 +0100 +++ new/MoarVM-2020.01.1/src/strings/utf8.c 2020-01-22 21:59:57.000000000 +0100 @@ -353,7 +353,7 @@ MVMDecodeStreamBytes *cur_bytes = NULL; MVMDecodeStreamBytes *last_accept_bytes = ds->bytes_head; MVMDecodeStreamBytes *lag_last_accept_bytes = NULL; - MVMint32 last_accept_pos, lag_last_accept_pos, ready, at_start; + MVMint32 last_accept_pos, lag_last_accept_pos = 0, ready, at_start; MVMuint32 reached_stopper; MVMuint32 can_fast_path; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MoarVM-2020.01/tools/release new/MoarVM-2020.01.1/tools/release --- old/MoarVM-2020.01/tools/release 1970-01-01 01:00:00.000000000 +0100 +++ new/MoarVM-2020.01.1/tools/release 2020-01-22 21:59:57.000000000 +0100 @@ -0,0 +1,68 @@ +export TEST_JOBS=10 + +git diff --no-ext-diff --quiet && git diff --no-ext-diff --cached --quiet || { + echo "status is not clean" && exit 1 +} +OLD_VERSION=$(grep '^New in' docs/ChangeLog | head -n2 | tail -n1 | sed -s 's/New in //') +echo "Old version: $OLD_VERSION" +NEW_VERSION=$(grep '^New in' docs/ChangeLog | head -n1 | sed -s 's/New in //') +echo "New version: $NEW_VERSION" + +for C in $(git log --no-merges --pretty='format:%h' $OLD_VERSION..HEAD) ; do + git diff --name-only $C $C^ | grep -v VERSION | grep -q -v docs/ChangeLog && { # No need to log changes to ChangeLog or VERSION + grep -q $C docs/ChangeLog || echo "Commit $(git show -s --oneline $C) not logged" + # Warning about unlogged changes is only advisory! Some changes are really not relevant + } +done + +BUILDDIR=$(mktemp -d) +echo "Building in $BUILDDIR" +mkdir $BUILDDIR/install + +perl Configure.pl --prefix=$BUILDDIR/install || exit 1 +make && make -j16 install || exit 1 + +pushd $BUILDDIR + +git clone g...@github.com:perl6/nqp.git || exit 1 +pushd nqp +perl Configure.pl --backends=moar --with-moar=$BUILDDIR/install/bin/moar --prefix=$BUILDDIR/install || exit 1 +make test || exit 1 +make install || exit 1 +popd +git clone g...@github.com:rakudo/rakudo.git || exit 1 +pushd rakudo +perl Configure.pl --with-nqp=$BUILDDIR/install/bin/nqp --prefix=$BUILDDIR/install || exit 1 +make test || exit 1 +make spectest || exit 1 +make stresstest || exit 1 +popd + +popd + +DEBUG_NFG_PATCH='diff --git a/src/strings/ops.h b/src/strings/ops.h +index 5cdb3d355..fd20f1d50 100644 +--- a/src/strings/ops.h ++++ b/src/strings/ops.h +@@ -142 +142 @@ char * MVM_string_encoding_cname(MVMThreadContext *tc, MVMint64 encoding); +-#define MVM_DEBUG_NFG 0 ++#define MVM_DEBUG_NFG 1 +@@ -145 +145 @@ char * MVM_string_encoding_cname(MVMThreadContext *tc, MVMint64 encoding); +-#define MVM_DEBUG_NFG_STRICT 0 ++#define MVM_DEBUG_NFG_STRICT 1' +echo "$DEBUG_NFG_PATCH" | patch -p1 || exit 1 + +make -j16 install || exit 1 + +pushd $BUILDDIR +pushd rakudo +make test || exit 1 +make spectest || exit 1 +popd +popd + +echo "$DEBUG_NFG_PATCH" | patch -R -p1 || exit 1 + +rm -rf $BUILDDIR + +exit 0